diff --git a/apply-patch b/apply-patch index 8da8bc5df04f74b4b901c782fa1609c81d414b67..c48245ff0dc54c7adf1707c1e8b34bb25dac1c30 100755 --- a/apply-patch +++ b/apply-patch @@ -19,7 +19,7 @@ while IPF= read -r line do if [[ "$line" =~ ^patch* ]]; then echo patch -p1 $cwd/$line - cd $src && patch -p1 < $cwd/$line + patch -p1 < $cwd/$line fi done <"$series" diff --git a/git-commit b/git-commit index 6a5f3c7394b3f5db6690775a5d49b7402a3f322a..fce7565aff452a0bbb1fe86fb67c94af6dec91d3 100644 --- a/git-commit +++ b/git-commit @@ -1 +1 @@ -9e829af4b75cbee163a3e444a4234a7d6f6a2127 +43d228d300f9de4c4071f6e8adb7205271383185 diff --git a/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch b/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch deleted file mode 100644 index b46ea188bf08fb609f1bfd750e5c2ee3bfb8fbff..0000000000000000000000000000000000000000 --- a/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3eb678a633ddf3be06851a1b8c69a98650e9a367 Mon Sep 17 00:00:00 2001 -From: "W. Trevor King" -Date: Tue, 21 Mar 2017 11:48:39 -0700 -Subject: [PATCH 01/94] .travis.yml: Don't require FETCH_HEAD - -Master builds only have a 'git clone ...' [1] so FETCH_HEAD isn't -defined and git-validation crashes [2]. We don't want to be -hard-coding a range here, and should update git-validation to handle -these cases automatically. - -Also echo TRAVIS_* variables during testing to make debugging -git-validation easier. - -[1]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L243 -[2]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L347 - -Change-Id: I325ae392323133b123f0ef7577a4464ae10a54cb -Signed-off-by: W. Trevor King ---- - .travis.yml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/.travis.yml b/.travis.yml -index 04f71f5..244c643 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -23,8 +23,9 @@ before_install: - - go get -u github.com/golang/lint/golint - - go get -u github.com/vbatts/git-validation - - go get -u github.com/mvdan/sh/cmd/shfmt -+ - env | grep TRAVIS_ - - script: -- - git-validation -run DCO,short-subject -v -range ${TRAVIS_BRANCH}..FETCH_HEAD -+ - git-validation -run DCO,short-subject -v - - make BUILDTAGS="${BUILDTAGS}" - - make BUILDTAGS="${BUILDTAGS}" clean validate test --- -2.7.4.3 - diff --git a/patch/0031-Add-spec-for-euleros.patch b/patch/0001-runc-Add-spec-for-euleros.patch similarity index 64% rename from patch/0031-Add-spec-for-euleros.patch rename to patch/0001-runc-Add-spec-for-euleros.patch index cc24a0cb523c6d885d93209cacce6ccd495af26a..864791f5563436de01a394560350ae0c0cdffeac 100644 --- a/patch/0031-Add-spec-for-euleros.patch +++ b/patch/0001-runc-Add-spec-for-euleros.patch @@ -1,21 +1,19 @@ -From 3a4b5e8752e2200d0b7967c0cf0fd8ab859b6d1a Mon Sep 17 00:00:00 2001 -From: Lei Jitang -Date: Mon, 17 Jul 2017 02:39:37 -0400 -Subject: [PATCH 31/94] Add spec for euleros +From 0aa433bd4f83b99ed1964d67abbb7fe833d8b78d Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Sat, 8 Oct 2022 15:49:27 +0800 +Subject: [PATCH] runc:Add spec for euleros -Change-Id: I74128e7ba4aa7f2a15515ac753664c933432b149 -Signed-off-by: Lei Jitang --- - script/runc-euleros.spec | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 49 insertions(+) - create mode 100644 script/runc-euleros.spec + runc-1.1.3/script/runc-euleros.spec | 50 +++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) + create mode 100644 runc-1.1.3/script/runc-euleros.spec -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec +diff --git a/runc-1.1.3/script/runc-euleros.spec b/runc-1.1.3/script/runc-euleros.spec new file mode 100644 -index 0000000..a925e02 +index 0000000..db4e868 --- /dev/null -+++ b/script/runc-euleros.spec -@@ -0,0 +1,49 @@ ++++ b/runc-1.1.3/script/runc-euleros.spec +@@ -0,0 +1,50 @@ +%global _bindir /usr/local/bin + +Name: docker-runc @@ -36,6 +34,7 @@ index 0000000..a925e02 +BuildRequires: libseccomp-devel +BuildRequires: libselinux-devel + ++BuildRequires: libseccomp-static + +%description +runc is a CLI tool for spawning and running containers according to the OCF specification @@ -66,5 +65,5 @@ index 0000000..a925e02 +%changelog + -- -2.7.4.3 +2.30.0 diff --git a/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch b/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch deleted file mode 100644 index d5d77c5fe824cbff95b72605e6ed0f59f95eb0be..0000000000000000000000000000000000000000 --- a/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4ccbadc228c9e4fc0fd20690ca13517f02aab59d Mon Sep 17 00:00:00 2001 -From: Andrei Vagin -Date: Thu, 23 Mar 2017 01:43:39 +0300 -Subject: [PATCH 02/94] Don't try to read freezer.state from the - current directory - -If we try to pause a container on the system without freezer cgroups, -we can found that runc tries to open ./freezer.state. It is obviously wrong. - -$ ./runc pause test -no such directory for freezer.state - -$ echo FROZEN > freezer.state -$ ./runc pause test -container not running or created: paused - -Change-Id: Ia7eba3a300a7ca6f1e8e10e4b1cbb4360e083e33 -Signed-off-by: Andrei Vagin ---- - libcontainer/container_linux.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 28dff86..cd9235d 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1284,7 +1284,12 @@ func (c *linuxContainer) runType() (Status, error) { - } - - func (c *linuxContainer) isPaused() (bool, error) { -- data, err := ioutil.ReadFile(filepath.Join(c.cgroupManager.GetPaths()["freezer"], "freezer.state")) -+ fcg := c.cgroupManager.GetPaths()["freezer"] -+ if fcg == "" { -+ // A container doesn't have a freezer cgroup -+ return false, nil -+ } -+ data, err := ioutil.ReadFile(filepath.Join(fcg, "freezer.state")) - if err != nil { - // If freezer cgroup is not mounted, the container would just be not paused. - if os.IsNotExist(err) { --- -2.7.4.3 - diff --git a/patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch b/patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch new file mode 100644 index 0000000000000000000000000000000000000000..1c516ee928ff2ff153803038d467b770ed579cce --- /dev/null +++ b/patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch @@ -0,0 +1,63 @@ +From 3afc90db6eb945e2668b66b1613659bb28e306e1 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Sat, 8 Oct 2022 16:23:11 +0800 +Subject: [PATCH] runc:fix unittest and integration test error caused + +--- + runc-1.1.3/libcontainer/integration/execin_test.go | 8 +------- + runc-1.1.3/tests/integration/exec.bats | 4 ++-- + 2 files changed, 3 insertions(+), 9 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/integration/execin_test.go b/runc-1.1.3/libcontainer/integration/execin_test.go +index f8a6a9c..9669eca 100644 +--- a/runc-1.1.3/libcontainer/integration/execin_test.go ++++ b/runc-1.1.3/libcontainer/integration/execin_test.go +@@ -62,9 +62,6 @@ func TestExecIn(t *testing.T) { + if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { + t.Fatalf("unexpected running process, output %q", out) + } +- if strings.Contains(out, "\r") { +- t.Fatalf("unexpected carriage-return in output %q", out) +- } + } + + func TestExecInUsernsRlimit(t *testing.T) { +@@ -318,12 +315,9 @@ func TestExecInTTY(t *testing.T) { + _ = child.Close() + + out := stdout.String() +- if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { ++ if !strings.Contains(out, "cat") || !strings.Contains(string(out), "ps") { + t.Fatalf("unexpected running process, output %q", out) + } +- if strings.Contains(out, "\r") { +- t.Fatalf("unexpected carriage-return in output %q", out) +- } + } + } + +diff --git a/runc-1.1.3/tests/integration/exec.bats b/runc-1.1.3/tests/integration/exec.bats +index 140cd18..cd01f00 100644 +--- a/runc-1.1.3/tests/integration/exec.bats ++++ b/runc-1.1.3/tests/integration/exec.bats +@@ -101,7 +101,7 @@ function teardown() { + + runc exec --cwd /bin test_busybox pwd + [ "$status" -eq 0 ] +- [[ ${output} == "/bin"* ]] ++ [[ $(echo "${output}" | tr -d '\r') == "/bin" ]] + } + + @test "runc exec --env" { +@@ -126,7 +126,7 @@ function teardown() { + runc exec --user 1000:1000 test_busybox id + [ "$status" -eq 0 ] + +- [[ "${output}" == "uid=1000 gid=1000"* ]] ++ [[ $(echo "${output}" | tr -d '\r') == "uid=1000 gid=1000" ] + } + + @test "runc exec --additional-gids" { +-- +2.30.0 + diff --git a/patch/0003-Use-opencontainers-selinux-package.patch b/patch/0003-Use-opencontainers-selinux-package.patch deleted file mode 100644 index 56e75d001a27ace094911b1751ff0e5fd9ed1e49..0000000000000000000000000000000000000000 --- a/patch/0003-Use-opencontainers-selinux-package.patch +++ /dev/null @@ -1,2424 +0,0 @@ -From d9ba1ae8b4ce5099b857f50dc2393bf90921be44 Mon Sep 17 00:00:00 2001 -From: Qiang Huang -Date: Thu, 23 Mar 2017 08:21:19 +0800 -Subject: [PATCH 03/94] Use opencontainers/selinux package - -It's splitted as a separate project. - -Change-Id: Iaac4fde7a9cfd95695afe2654ca59f68469f7872 -Signed-off-by: Qiang Huang ---- - libcontainer/configs/validate/validator.go | 4 +- - libcontainer/label/label.go | 84 --- - libcontainer/label/label_selinux.go | 204 ------- - libcontainer/label/label_selinux_test.go | 148 ----- - libcontainer/rootfs_linux.go | 2 +- - libcontainer/selinux/selinux.go | 549 ------------------- - libcontainer/selinux/selinux_test.go | 85 --- - libcontainer/setns_init_linux.go | 2 +- - libcontainer/standard_init_linux.go | 2 +- - vendor.conf | 1 + - vendor/github.com/opencontainers/selinux/LICENSE | 201 +++++++ - vendor/github.com/opencontainers/selinux/README.md | 7 + - .../selinux/go-selinux/label/label.go | 84 +++ - .../selinux/go-selinux/label/label_selinux.go | 204 +++++++ - .../opencontainers/selinux/go-selinux/selinux.go | 593 +++++++++++++++++++++ - .../opencontainers/selinux/go-selinux/xattrs.go | 78 +++ - 16 files changed, 1173 insertions(+), 1075 deletions(-) - delete mode 100644 libcontainer/label/label.go - delete mode 100644 libcontainer/label/label_selinux.go - delete mode 100644 libcontainer/label/label_selinux_test.go - delete mode 100644 libcontainer/selinux/selinux.go - delete mode 100644 libcontainer/selinux/selinux_test.go - create mode 100644 vendor/github.com/opencontainers/selinux/LICENSE - create mode 100644 vendor/github.com/opencontainers/selinux/README.md - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/label/label.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/selinux.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go - -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index f076f50..ecf8335 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -7,7 +7,7 @@ import ( - "strings" - - "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/selinux" -+ selinux "github.com/opencontainers/selinux/go-selinux" - ) - - type Validator interface { -@@ -87,7 +87,7 @@ func (v *ConfigValidator) security(config *configs.Config) error { - !config.Namespaces.Contains(configs.NEWNS) { - return fmt.Errorf("unable to restrict sys entries without a private MNT namespace") - } -- if config.ProcessLabel != "" && !selinux.SelinuxEnabled() { -+ if config.ProcessLabel != "" && !selinux.GetEnabled() { - return fmt.Errorf("selinux label is specified in config, but selinux is disabled or not supported") - } - -diff --git a/libcontainer/label/label.go b/libcontainer/label/label.go -deleted file mode 100644 -index fddec46..0000000 ---- a/libcontainer/label/label.go -+++ /dev/null -@@ -1,84 +0,0 @@ --// +build !selinux !linux -- --package label -- --// InitLabels returns the process label and file labels to be used within --// the container. A list of options can be passed into this function to alter --// the labels. --func InitLabels(options []string) (string, string, error) { -- return "", "", nil --} -- --func GetROMountLabel() string { -- return "" --} -- --func GenLabels(options string) (string, string, error) { -- return "", "", nil --} -- --func FormatMountLabel(src string, mountLabel string) string { -- return src --} -- --func SetProcessLabel(processLabel string) error { -- return nil --} -- --func GetFileLabel(path string) (string, error) { -- return "", nil --} -- --func SetFileLabel(path string, fileLabel string) error { -- return nil --} -- --func SetFileCreateLabel(fileLabel string) error { -- return nil --} -- --func Relabel(path string, fileLabel string, shared bool) error { -- return nil --} -- --func GetPidLabel(pid int) (string, error) { -- return "", nil --} -- --func Init() { --} -- --func ReserveLabel(label string) error { -- return nil --} -- --func UnreserveLabel(label string) error { -- return nil --} -- --// DupSecOpt takes a process label and returns security options that --// can be used to set duplicate labels on future container processes --func DupSecOpt(src string) []string { -- return nil --} -- --// DisableSecOpt returns a security opt that can disable labeling --// support for future container processes --func DisableSecOpt() []string { -- return nil --} -- --// Validate checks that the label does not include unexpected options --func Validate(label string) error { -- return nil --} -- --// RelabelNeeded checks whether the user requested a relabel --func RelabelNeeded(label string) bool { -- return false --} -- --// IsShared checks that the label includes a "shared" mark --func IsShared(label string) bool { -- return false --} -diff --git a/libcontainer/label/label_selinux.go b/libcontainer/label/label_selinux.go -deleted file mode 100644 -index 058c922..0000000 ---- a/libcontainer/label/label_selinux.go -+++ /dev/null -@@ -1,204 +0,0 @@ --// +build selinux,linux -- --package label -- --import ( -- "fmt" -- "strings" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --// Valid Label Options --var validOptions = map[string]bool{ -- "disable": true, -- "type": true, -- "user": true, -- "role": true, -- "level": true, --} -- --var ErrIncompatibleLabel = fmt.Errorf("Bad SELinux option z and Z can not be used together") -- --// InitLabels returns the process label and file labels to be used within --// the container. A list of options can be passed into this function to alter --// the labels. The labels returned will include a random MCS String, that is --// guaranteed to be unique. --func InitLabels(options []string) (string, string, error) { -- if !selinux.SelinuxEnabled() { -- return "", "", nil -- } -- processLabel, mountLabel := selinux.GetLxcContexts() -- if processLabel != "" { -- pcon := selinux.NewContext(processLabel) -- mcon := selinux.NewContext(mountLabel) -- for _, opt := range options { -- if opt == "disable" { -- return "", "", nil -- } -- if i := strings.Index(opt, ":"); i == -1 { -- return "", "", fmt.Errorf("Bad label option %q, valid options 'disable' or \n'user, role, level, type' followed by ':' and a value", opt) -- } -- con := strings.SplitN(opt, ":", 2) -- if !validOptions[con[0]] { -- return "", "", fmt.Errorf("Bad label option %q, valid options 'disable, user, role, level, type'", con[0]) -- -- } -- pcon[con[0]] = con[1] -- if con[0] == "level" || con[0] == "user" { -- mcon[con[0]] = con[1] -- } -- } -- processLabel = pcon.Get() -- mountLabel = mcon.Get() -- } -- return processLabel, mountLabel, nil --} -- --func GetROMountLabel() string { -- return selinux.GetROFileLabel() --} -- --// DEPRECATED: The GenLabels function is only to be used during the transition to the official API. --func GenLabels(options string) (string, string, error) { -- return InitLabels(strings.Fields(options)) --} -- --// FormatMountLabel returns a string to be used by the mount command. --// The format of this string will be used to alter the labeling of the mountpoint. --// The string returned is suitable to be used as the options field of the mount command. --// If you need to have additional mount point options, you can pass them in as --// the first parameter. Second parameter is the label that you wish to apply --// to all content in the mount point. --func FormatMountLabel(src, mountLabel string) string { -- if mountLabel != "" { -- switch src { -- case "": -- src = fmt.Sprintf("context=%q", mountLabel) -- default: -- src = fmt.Sprintf("%s,context=%q", src, mountLabel) -- } -- } -- return src --} -- --// SetProcessLabel takes a process label and tells the kernel to assign the --// label to the next program executed by the current process. --func SetProcessLabel(processLabel string) error { -- if processLabel == "" { -- return nil -- } -- return selinux.Setexeccon(processLabel) --} -- --// GetProcessLabel returns the process label that the kernel will assign --// to the next program executed by the current process. If "" is returned --// this indicates that the default labeling will happen for the process. --func GetProcessLabel() (string, error) { -- return selinux.Getexeccon() --} -- --// GetFileLabel returns the label for specified path --func GetFileLabel(path string) (string, error) { -- return selinux.Getfilecon(path) --} -- --// SetFileLabel modifies the "path" label to the specified file label --func SetFileLabel(path string, fileLabel string) error { -- if selinux.SelinuxEnabled() && fileLabel != "" { -- return selinux.Setfilecon(path, fileLabel) -- } -- return nil --} -- --// SetFileCreateLabel tells the kernel the label for all files to be created --func SetFileCreateLabel(fileLabel string) error { -- if selinux.SelinuxEnabled() { -- return selinux.Setfscreatecon(fileLabel) -- } -- return nil --} -- --// Relabel changes the label of path to the filelabel string. --// It changes the MCS label to s0 if shared is true. --// This will allow all containers to share the content. --func Relabel(path string, fileLabel string, shared bool) error { -- if !selinux.SelinuxEnabled() { -- return nil -- } -- -- if fileLabel == "" { -- return nil -- } -- -- exclude_paths := map[string]bool{"/": true, "/usr": true, "/etc": true} -- if exclude_paths[path] { -- return fmt.Errorf("SELinux relabeling of %s is not allowed", path) -- } -- -- if shared { -- c := selinux.NewContext(fileLabel) -- c["level"] = "s0" -- fileLabel = c.Get() -- } -- if err := selinux.Chcon(path, fileLabel, true); err != nil { -- return err -- } -- return nil --} -- --// GetPidLabel will return the label of the process running with the specified pid --func GetPidLabel(pid int) (string, error) { -- return selinux.Getpidcon(pid) --} -- --// Init initialises the labeling system --func Init() { -- selinux.SelinuxEnabled() --} -- --// ReserveLabel will record the fact that the MCS label has already been used. --// This will prevent InitLabels from using the MCS label in a newly created --// container --func ReserveLabel(label string) error { -- selinux.ReserveLabel(label) -- return nil --} -- --// UnreserveLabel will remove the reservation of the MCS label. --// This will allow InitLabels to use the MCS label in a newly created --// containers --func UnreserveLabel(label string) error { -- selinux.FreeLxcContexts(label) -- return nil --} -- --// DupSecOpt takes a process label and returns security options that --// can be used to set duplicate labels on future container processes --func DupSecOpt(src string) []string { -- return selinux.DupSecOpt(src) --} -- --// DisableSecOpt returns a security opt that can disable labeling --// support for future container processes --func DisableSecOpt() []string { -- return selinux.DisableSecOpt() --} -- --// Validate checks that the label does not include unexpected options --func Validate(label string) error { -- if strings.Contains(label, "z") && strings.Contains(label, "Z") { -- return ErrIncompatibleLabel -- } -- return nil --} -- --// RelabelNeeded checks whether the user requested a relabel --func RelabelNeeded(label string) bool { -- return strings.Contains(label, "z") || strings.Contains(label, "Z") --} -- --// IsShared checks that the label includes a "shared" mark --func IsShared(label string) bool { -- return strings.Contains(label, "z") --} -diff --git a/libcontainer/label/label_selinux_test.go b/libcontainer/label/label_selinux_test.go -deleted file mode 100644 -index 8956a70..0000000 ---- a/libcontainer/label/label_selinux_test.go -+++ /dev/null -@@ -1,148 +0,0 @@ --// +build selinux,linux -- --package label -- --import ( -- "os" -- "strings" -- "testing" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --func TestInit(t *testing.T) { -- if selinux.SelinuxEnabled() { -- var testNull []string -- plabel, mlabel, err := InitLabels(testNull) -- if err != nil { -- t.Log("InitLabels Failed") -- t.Fatal(err) -- } -- testDisabled := []string{"disable"} -- roMountLabel := GetROMountLabel() -- if roMountLabel == "" { -- t.Errorf("GetROMountLabel Failed") -- } -- plabel, mlabel, err = InitLabels(testDisabled) -- if err != nil { -- t.Log("InitLabels Disabled Failed") -- t.Fatal(err) -- } -- if plabel != "" { -- t.Log("InitLabels Disabled Failed") -- t.FailNow() -- } -- testUser := []string{"user:user_u", "role:user_r", "type:user_t", "level:s0:c1,c15"} -- plabel, mlabel, err = InitLabels(testUser) -- if err != nil { -- t.Log("InitLabels User Failed") -- t.Fatal(err) -- } -- if plabel != "user_u:user_r:user_t:s0:c1,c15" || mlabel != "user_u:object_r:svirt_sandbox_file_t:s0:c1,c15" { -- t.Log("InitLabels User Match Failed") -- t.Log(plabel, mlabel) -- t.Fatal(err) -- } -- -- testBadData := []string{"user", "role:user_r", "type:user_t", "level:s0:c1,c15"} -- if _, _, err = InitLabels(testBadData); err == nil { -- t.Log("InitLabels Bad Failed") -- t.Fatal(err) -- } -- } --} --func TestDuplicateLabel(t *testing.T) { -- secopt := DupSecOpt("system_u:system_r:svirt_lxc_net_t:s0:c1,c2") -- t.Log(secopt) -- for _, opt := range secopt { -- parts := strings.SplitN(opt, "=", 2) -- if len(parts) != 2 || parts[0] != "label" { -- t.Errorf("Invalid DupSecOpt return value") -- continue -- } -- con := strings.SplitN(parts[1], ":", 2) -- if con[0] == "user" { -- if con[1] != "system_u" { -- t.Errorf("DupSecOpt Failed user incorrect") -- } -- continue -- } -- if con[0] == "role" { -- if con[1] != "system_r" { -- t.Errorf("DupSecOpt Failed role incorrect") -- } -- continue -- } -- if con[0] == "type" { -- if con[1] != "svirt_lxc_net_t" { -- t.Errorf("DupSecOpt Failed type incorrect") -- } -- continue -- } -- if con[0] == "level" { -- if con[1] != "s0:c1,c2" { -- t.Errorf("DupSecOpt Failed level incorrect") -- } -- continue -- } -- t.Errorf("DupSecOpt Failed invalid field %q", con[0]) -- } -- secopt = DisableSecOpt() -- if secopt[0] != "label=disable" { -- t.Errorf("DisableSecOpt Failed level incorrect") -- } --} --func TestRelabel(t *testing.T) { -- testdir := "/tmp/test" -- if err := os.Mkdir(testdir, 0755); err != nil { -- t.Fatal(err) -- } -- defer os.RemoveAll(testdir) -- label := "system_u:object_r:svirt_sandbox_file_t:s0:c1,c2" -- if err := Relabel(testdir, "", true); err != nil { -- t.Fatalf("Relabel with no label failed: %v", err) -- } -- if err := Relabel(testdir, label, true); err != nil { -- t.Fatalf("Relabel shared failed: %v", err) -- } -- if err := Relabel(testdir, label, false); err != nil { -- t.Fatalf("Relabel unshared failed: %v", err) -- } -- if err := Relabel("/etc", label, false); err == nil { -- t.Fatalf("Relabel /etc succeeded") -- } -- if err := Relabel("/", label, false); err == nil { -- t.Fatalf("Relabel / succeeded") -- } -- if err := Relabel("/usr", label, false); err == nil { -- t.Fatalf("Relabel /usr succeeded") -- } --} -- --func TestValidate(t *testing.T) { -- if err := Validate("zZ"); err != ErrIncompatibleLabel { -- t.Fatalf("Expected incompatible error, got %v", err) -- } -- if err := Validate("Z"); err != nil { -- t.Fatal(err) -- } -- if err := Validate("z"); err != nil { -- t.Fatal(err) -- } -- if err := Validate(""); err != nil { -- t.Fatal(err) -- } --} -- --func TestIsShared(t *testing.T) { -- if shared := IsShared("Z"); shared { -- t.Fatalf("Expected label `Z` to not be shared, got %v", shared) -- } -- if shared := IsShared("z"); !shared { -- t.Fatalf("Expected label `z` to be shared, got %v", shared) -- } -- if shared := IsShared("Zz"); !shared { -- t.Fatalf("Expected label `Zz` to be shared, got %v", shared) -- } -- --} -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 2635fd6..1045a45 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -19,9 +19,9 @@ import ( - "github.com/mrunalp/fileutils" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/system" - libcontainerUtils "github.com/opencontainers/runc/libcontainer/utils" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - const defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -diff --git a/libcontainer/selinux/selinux.go b/libcontainer/selinux/selinux.go -deleted file mode 100644 -index 5bd028b..0000000 ---- a/libcontainer/selinux/selinux.go -+++ /dev/null -@@ -1,549 +0,0 @@ --// +build linux -- --package selinux -- --import ( -- "bufio" -- "crypto/rand" -- "encoding/binary" -- "fmt" -- "io" -- "os" -- "path/filepath" -- "regexp" -- "strconv" -- "strings" -- "sync" -- "syscall" -- -- "github.com/opencontainers/runc/libcontainer/system" --) -- --const ( -- Enforcing = 1 -- Permissive = 0 -- Disabled = -1 -- selinuxDir = "/etc/selinux/" -- selinuxConfig = selinuxDir + "config" -- selinuxTypeTag = "SELINUXTYPE" -- selinuxTag = "SELINUX" -- selinuxPath = "/sys/fs/selinux" -- xattrNameSelinux = "security.selinux" -- stRdOnly = 0x01 --) -- --type selinuxState struct { -- enabledSet bool -- enabled bool -- selinuxfsSet bool -- selinuxfs string -- mcsList map[string]bool -- sync.Mutex --} -- --var ( -- assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) -- state = selinuxState{ -- mcsList: make(map[string]bool), -- } --) -- --type SELinuxContext map[string]string -- --func (s *selinuxState) setEnable(enabled bool) bool { -- s.Lock() -- defer s.Unlock() -- s.enabledSet = true -- s.enabled = enabled -- return s.enabled --} -- --func (s *selinuxState) getEnabled() bool { -- s.Lock() -- enabled := s.enabled -- enabledSet := s.enabledSet -- s.Unlock() -- if enabledSet { -- return enabled -- } -- -- enabled = false -- if fs := getSelinuxMountPoint(); fs != "" { -- if con, _ := Getcon(); con != "kernel" { -- enabled = true -- } -- } -- return s.setEnable(enabled) --} -- --// SetDisabled disables selinux support for the package --func SetDisabled() { -- state.setEnable(false) --} -- --func (s *selinuxState) setSELinuxfs(selinuxfs string) string { -- s.Lock() -- defer s.Unlock() -- s.selinuxfsSet = true -- s.selinuxfs = selinuxfs -- return s.selinuxfs --} -- --func (s *selinuxState) getSELinuxfs() string { -- s.Lock() -- selinuxfs := s.selinuxfs -- selinuxfsSet := s.selinuxfsSet -- s.Unlock() -- if selinuxfsSet { -- return selinuxfs -- } -- -- selinuxfs = "" -- f, err := os.Open("/proc/self/mountinfo") -- if err != nil { -- return selinuxfs -- } -- defer f.Close() -- -- scanner := bufio.NewScanner(f) -- for scanner.Scan() { -- txt := scanner.Text() -- // Safe as mountinfo encodes mountpoints with spaces as \040. -- sepIdx := strings.Index(txt, " - ") -- if sepIdx == -1 { -- continue -- } -- if !strings.Contains(txt[sepIdx:], "selinuxfs") { -- continue -- } -- fields := strings.Split(txt, " ") -- if len(fields) < 5 { -- continue -- } -- selinuxfs = fields[4] -- break -- } -- -- if selinuxfs != "" { -- var buf syscall.Statfs_t -- syscall.Statfs(selinuxfs, &buf) -- if (buf.Flags & stRdOnly) == 1 { -- selinuxfs = "" -- } -- } -- return s.setSELinuxfs(selinuxfs) --} -- --// getSelinuxMountPoint returns the path to the mountpoint of an selinuxfs --// filesystem or an empty string if no mountpoint is found. Selinuxfs is --// a proc-like pseudo-filesystem that exposes the selinux policy API to --// processes. The existence of an selinuxfs mount is used to determine --// whether selinux is currently enabled or not. --func getSelinuxMountPoint() string { -- return state.getSELinuxfs() --} -- --// SelinuxEnabled returns whether selinux is currently enabled. --func SelinuxEnabled() bool { -- return state.getEnabled() --} -- --func readConfig(target string) (value string) { -- var ( -- val, key string -- bufin *bufio.Reader -- ) -- -- in, err := os.Open(selinuxConfig) -- if err != nil { -- return "" -- } -- defer in.Close() -- -- bufin = bufio.NewReader(in) -- -- for done := false; !done; { -- var line string -- if line, err = bufin.ReadString('\n'); err != nil { -- if err != io.EOF { -- return "" -- } -- done = true -- } -- line = strings.TrimSpace(line) -- if len(line) == 0 { -- // Skip blank lines -- continue -- } -- if line[0] == ';' || line[0] == '#' { -- // Skip comments -- continue -- } -- if groups := assignRegex.FindStringSubmatch(line); groups != nil { -- key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -- if key == target { -- return strings.Trim(val, "\"") -- } -- } -- } -- return "" --} -- --func getSELinuxPolicyRoot() string { -- return selinuxDir + readConfig(selinuxTypeTag) --} -- --func readCon(name string) (string, error) { -- var val string -- -- in, err := os.Open(name) -- if err != nil { -- return "", err -- } -- defer in.Close() -- -- _, err = fmt.Fscanf(in, "%s", &val) -- return val, err --} -- --// Setfilecon sets the SELinux label for this path or returns an error. --func Setfilecon(path string, scon string) error { -- return system.Lsetxattr(path, xattrNameSelinux, []byte(scon), 0) --} -- --// Getfilecon returns the SELinux label for this path or returns an error. --func Getfilecon(path string) (string, error) { -- con, err := system.Lgetxattr(path, xattrNameSelinux) -- if err != nil { -- return "", err -- } -- // Trim the NUL byte at the end of the byte buffer, if present. -- if len(con) > 0 && con[len(con)-1] == '\x00' { -- con = con[:len(con)-1] -- } -- return string(con), nil --} -- --func Setfscreatecon(scon string) error { -- return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid()), scon) --} -- --func Getfscreatecon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid())) --} -- --// Getcon returns the SELinux label of the current process thread, or an error. --func Getcon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/current", syscall.Gettid())) --} -- --// Getpidcon returns the SELinux label of the given pid, or an error. --func Getpidcon(pid int) (string, error) { -- return readCon(fmt.Sprintf("/proc/%d/attr/current", pid)) --} -- --func Getexeccon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid())) --} -- --func writeCon(name string, val string) error { -- out, err := os.OpenFile(name, os.O_WRONLY, 0) -- if err != nil { -- return err -- } -- defer out.Close() -- -- if val != "" { -- _, err = out.Write([]byte(val)) -- } else { -- _, err = out.Write(nil) -- } -- return err --} -- --func Setexeccon(scon string) error { -- return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid()), scon) --} -- --func (c SELinuxContext) Get() string { -- return fmt.Sprintf("%s:%s:%s:%s", c["user"], c["role"], c["type"], c["level"]) --} -- --func NewContext(scon string) SELinuxContext { -- c := make(SELinuxContext) -- -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- c["user"] = con[0] -- c["role"] = con[1] -- c["type"] = con[2] -- c["level"] = con[3] -- } -- return c --} -- --func ReserveLabel(scon string) { -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- mcsAdd(con[3]) -- } --} -- --func selinuxEnforcePath() string { -- return fmt.Sprintf("%s/enforce", selinuxPath) --} -- --func SelinuxGetEnforce() int { -- var enforce int -- -- enforceS, err := readCon(selinuxEnforcePath()) -- if err != nil { -- return -1 -- } -- -- enforce, err = strconv.Atoi(string(enforceS)) -- if err != nil { -- return -1 -- } -- return enforce --} -- --func SelinuxSetEnforce(mode int) error { -- return writeCon(selinuxEnforcePath(), fmt.Sprintf("%d", mode)) --} -- --func SelinuxGetEnforceMode() int { -- switch readConfig(selinuxTag) { -- case "enforcing": -- return Enforcing -- case "permissive": -- return Permissive -- } -- return Disabled --} -- --func mcsAdd(mcs string) error { -- state.Lock() -- defer state.Unlock() -- if state.mcsList[mcs] { -- return fmt.Errorf("MCS Label already exists") -- } -- state.mcsList[mcs] = true -- return nil --} -- --func mcsDelete(mcs string) { -- state.Lock() -- defer state.Unlock() -- state.mcsList[mcs] = false --} -- --func IntToMcs(id int, catRange uint32) string { -- var ( -- SETSIZE = int(catRange) -- TIER = SETSIZE -- ORD = id -- ) -- -- if id < 1 || id > 523776 { -- return "" -- } -- -- for ORD > TIER { -- ORD = ORD - TIER -- TIER-- -- } -- TIER = SETSIZE - TIER -- ORD = ORD + TIER -- return fmt.Sprintf("s0:c%d,c%d", TIER, ORD) --} -- --func uniqMcs(catRange uint32) string { -- var ( -- n uint32 -- c1, c2 uint32 -- mcs string -- ) -- -- for { -- binary.Read(rand.Reader, binary.LittleEndian, &n) -- c1 = n % catRange -- binary.Read(rand.Reader, binary.LittleEndian, &n) -- c2 = n % catRange -- if c1 == c2 { -- continue -- } else { -- if c1 > c2 { -- c1, c2 = c2, c1 -- } -- } -- mcs = fmt.Sprintf("s0:c%d,c%d", c1, c2) -- if err := mcsAdd(mcs); err != nil { -- continue -- } -- break -- } -- return mcs --} -- --func FreeLxcContexts(scon string) { -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- mcsDelete(con[3]) -- } --} -- --var roFileLabel string -- --func GetROFileLabel() (fileLabel string) { -- return roFileLabel --} -- --func GetLxcContexts() (processLabel string, fileLabel string) { -- var ( -- val, key string -- bufin *bufio.Reader -- ) -- -- if !SelinuxEnabled() { -- return "", "" -- } -- lxcPath := fmt.Sprintf("%s/contexts/lxc_contexts", getSELinuxPolicyRoot()) -- in, err := os.Open(lxcPath) -- if err != nil { -- return "", "" -- } -- defer in.Close() -- -- bufin = bufio.NewReader(in) -- -- for done := false; !done; { -- var line string -- if line, err = bufin.ReadString('\n'); err != nil { -- if err == io.EOF { -- done = true -- } else { -- goto exit -- } -- } -- line = strings.TrimSpace(line) -- if len(line) == 0 { -- // Skip blank lines -- continue -- } -- if line[0] == ';' || line[0] == '#' { -- // Skip comments -- continue -- } -- if groups := assignRegex.FindStringSubmatch(line); groups != nil { -- key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -- if key == "process" { -- processLabel = strings.Trim(val, "\"") -- } -- if key == "file" { -- fileLabel = strings.Trim(val, "\"") -- } -- if key == "ro_file" { -- roFileLabel = strings.Trim(val, "\"") -- } -- } -- } -- -- if processLabel == "" || fileLabel == "" { -- return "", "" -- } -- -- if roFileLabel == "" { -- roFileLabel = fileLabel -- } --exit: -- // mcs := IntToMcs(os.Getpid(), 1024) -- mcs := uniqMcs(1024) -- scon := NewContext(processLabel) -- scon["level"] = mcs -- processLabel = scon.Get() -- scon = NewContext(fileLabel) -- scon["level"] = mcs -- fileLabel = scon.Get() -- return processLabel, fileLabel --} -- --func SecurityCheckContext(val string) error { -- return writeCon(fmt.Sprintf("%s.context", selinuxPath), val) --} -- --func CopyLevel(src, dest string) (string, error) { -- if src == "" { -- return "", nil -- } -- if err := SecurityCheckContext(src); err != nil { -- return "", err -- } -- if err := SecurityCheckContext(dest); err != nil { -- return "", err -- } -- scon := NewContext(src) -- tcon := NewContext(dest) -- mcsDelete(tcon["level"]) -- mcsAdd(scon["level"]) -- tcon["level"] = scon["level"] -- return tcon.Get(), nil --} -- --// Prevent users from relabing system files --func badPrefix(fpath string) error { -- var badprefixes = []string{"/usr"} -- -- for _, prefix := range badprefixes { -- if fpath == prefix || strings.HasPrefix(fpath, fmt.Sprintf("%s/", prefix)) { -- return fmt.Errorf("relabeling content in %s is not allowed", prefix) -- } -- } -- return nil --} -- --// Chcon changes the fpath file object to the SELinux label scon. --// If the fpath is a directory and recurse is true Chcon will walk the --// directory tree setting the label --func Chcon(fpath string, scon string, recurse bool) error { -- if scon == "" { -- return nil -- } -- if err := badPrefix(fpath); err != nil { -- return err -- } -- callback := func(p string, info os.FileInfo, err error) error { -- return Setfilecon(p, scon) -- } -- -- if recurse { -- return filepath.Walk(fpath, callback) -- } -- -- return Setfilecon(fpath, scon) --} -- --// DupSecOpt takes an SELinux process label and returns security options that --// can will set the SELinux Type and Level for future container processes --func DupSecOpt(src string) []string { -- if src == "" { -- return nil -- } -- con := NewContext(src) -- if con["user"] == "" || -- con["role"] == "" || -- con["type"] == "" || -- con["level"] == "" { -- return nil -- } -- return []string{"user:" + con["user"], -- "role:" + con["role"], -- "type:" + con["type"], -- "level:" + con["level"]} --} -- --// DisableSecOpt returns a security opt that can be used to disabling SELinux --// labeling support for future container processes --func DisableSecOpt() []string { -- return []string{"disable"} --} -diff --git a/libcontainer/selinux/selinux_test.go b/libcontainer/selinux/selinux_test.go -deleted file mode 100644 -index d67284e..0000000 ---- a/libcontainer/selinux/selinux_test.go -+++ /dev/null -@@ -1,85 +0,0 @@ --// +build linux,selinux -- --package selinux_test -- --import ( -- "os" -- "testing" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --func TestSetfilecon(t *testing.T) { -- if selinux.SelinuxEnabled() { -- tmp := "selinux_test" -- con := "system_u:object_r:bin_t:s0" -- out, _ := os.OpenFile(tmp, os.O_WRONLY|os.O_CREATE, 0) -- out.Close() -- err := selinux.Setfilecon(tmp, con) -- if err != nil { -- t.Log("Setfilecon failed") -- t.Fatal(err) -- } -- filecon, err := selinux.Getfilecon(tmp) -- if err != nil { -- t.Log("Getfilecon failed") -- t.Fatal(err) -- } -- if con != filecon { -- t.Fatal("Getfilecon failed, returned %s expected %s", filecon, con) -- } -- -- os.Remove(tmp) -- } --} -- --func TestSELinux(t *testing.T) { -- var ( -- err error -- plabel, flabel string -- ) -- -- if selinux.SelinuxEnabled() { -- t.Log("Enabled") -- plabel, flabel = selinux.GetLxcContexts() -- t.Log(plabel) -- t.Log(flabel) -- selinux.FreeLxcContexts(plabel) -- plabel, flabel = selinux.GetLxcContexts() -- t.Log(plabel) -- t.Log(flabel) -- selinux.FreeLxcContexts(plabel) -- t.Log("getenforce ", selinux.SelinuxGetEnforce()) -- mode := selinux.SelinuxGetEnforceMode() -- t.Log("getenforcemode ", mode) -- -- defer selinux.SelinuxSetEnforce(mode) -- if err := selinux.SelinuxSetEnforce(selinux.Enforcing); err != nil { -- t.Fatalf("enforcing selinux failed: %v", err) -- } -- if err := selinux.SelinuxSetEnforce(selinux.Permissive); err != nil { -- t.Fatalf("setting selinux mode to permissive failed: %v", err) -- } -- selinux.SelinuxSetEnforce(mode) -- -- pid := os.Getpid() -- t.Logf("PID:%d MCS:%s\n", pid, selinux.IntToMcs(pid, 1023)) -- err = selinux.Setfscreatecon("unconfined_u:unconfined_r:unconfined_t:s0") -- if err == nil { -- t.Log(selinux.Getfscreatecon()) -- } else { -- t.Log("setfscreatecon failed", err) -- t.Fatal(err) -- } -- err = selinux.Setfscreatecon("") -- if err == nil { -- t.Log(selinux.Getfscreatecon()) -- } else { -- t.Log("setfscreatecon failed", err) -- t.Fatal(err) -- } -- t.Log(selinux.Getpidcon(1)) -- } else { -- t.Log("Disabled") -- } --} -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index f6e8998..48cc0ae 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -8,9 +8,9 @@ import ( - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/keys" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - // linuxSetnsInit performs the container's initialization for running a new process -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index d9cc5e5..ee6f19a 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -11,9 +11,9 @@ import ( - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/keys" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - type linuxStandardInit struct { -diff --git a/vendor.conf b/vendor.conf -index e3a29d2..75dfca4 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -7,6 +7,7 @@ github.com/godbus/dbus c7fdd8b5cd55e87b4e1f4e372cdb1db61dd6c66f - github.com/golang/protobuf/proto f7137ae6b19afbfd61a94b746fda3b3fe0491874 - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 - github.com/opencontainers/runtime-spec/specs-go 035da1dca3dfbb00d752eb58b0b158d6129f3776 -+github.com/opencontainers/selinux ba1aefe8057f1d0cfb8e88d0ec1dc85925ef987d - github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 - github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e -diff --git a/vendor/github.com/opencontainers/selinux/LICENSE b/vendor/github.com/opencontainers/selinux/LICENSE -new file mode 100644 -index 0000000..8dada3e ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/LICENSE -@@ -0,0 +1,201 @@ -+ Apache License -+ Version 2.0, January 2004 -+ http://www.apache.org/licenses/ -+ -+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -+ -+ 1. Definitions. -+ -+ "License" shall mean the terms and conditions for use, reproduction, -+ and distribution as defined by Sections 1 through 9 of this document. -+ -+ "Licensor" shall mean the copyright owner or entity authorized by -+ the copyright owner that is granting the License. -+ -+ "Legal Entity" shall mean the union of the acting entity and all -+ other entities that control, are controlled by, or are under common -+ control with that entity. For the purposes of this definition, -+ "control" means (i) the power, direct or indirect, to cause the -+ direction or management of such entity, whether by contract or -+ otherwise, or (ii) ownership of fifty percent (50%) or more of the -+ outstanding shares, or (iii) beneficial ownership of such entity. -+ -+ "You" (or "Your") shall mean an individual or Legal Entity -+ exercising permissions granted by this License. -+ -+ "Source" form shall mean the preferred form for making modifications, -+ including but not limited to software source code, documentation -+ source, and configuration files. -+ -+ "Object" form shall mean any form resulting from mechanical -+ transformation or translation of a Source form, including but -+ not limited to compiled object code, generated documentation, -+ and conversions to other media types. -+ -+ "Work" shall mean the work of authorship, whether in Source or -+ Object form, made available under the License, as indicated by a -+ copyright notice that is included in or attached to the work -+ (an example is provided in the Appendix below). -+ -+ "Derivative Works" shall mean any work, whether in Source or Object -+ form, that is based on (or derived from) the Work and for which the -+ editorial revisions, annotations, elaborations, or other modifications -+ represent, as a whole, an original work of authorship. For the purposes -+ of this License, Derivative Works shall not include works that remain -+ separable from, or merely link (or bind by name) to the interfaces of, -+ the Work and Derivative Works thereof. -+ -+ "Contribution" shall mean any work of authorship, including -+ the original version of the Work and any modifications or additions -+ to that Work or Derivative Works thereof, that is intentionally -+ submitted to Licensor for inclusion in the Work by the copyright owner -+ or by an individual or Legal Entity authorized to submit on behalf of -+ the copyright owner. For the purposes of this definition, "submitted" -+ means any form of electronic, verbal, or written communication sent -+ to the Licensor or its representatives, including but not limited to -+ communication on electronic mailing lists, source code control systems, -+ and issue tracking systems that are managed by, or on behalf of, the -+ Licensor for the purpose of discussing and improving the Work, but -+ excluding communication that is conspicuously marked or otherwise -+ designated in writing by the copyright owner as "Not a Contribution." -+ -+ "Contributor" shall mean Licensor and any individual or Legal Entity -+ on behalf of whom a Contribution has been received by Licensor and -+ subsequently incorporated within the Work. -+ -+ 2. Grant of Copyright License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ copyright license to reproduce, prepare Derivative Works of, -+ publicly display, publicly perform, sublicense, and distribute the -+ Work and such Derivative Works in Source or Object form. -+ -+ 3. Grant of Patent License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ (except as stated in this section) patent license to make, have made, -+ use, offer to sell, sell, import, and otherwise transfer the Work, -+ where such license applies only to those patent claims licensable -+ by such Contributor that are necessarily infringed by their -+ Contribution(s) alone or by combination of their Contribution(s) -+ with the Work to which such Contribution(s) was submitted. If You -+ institute patent litigation against any entity (including a -+ cross-claim or counterclaim in a lawsuit) alleging that the Work -+ or a Contribution incorporated within the Work constitutes direct -+ or contributory patent infringement, then any patent licenses -+ granted to You under this License for that Work shall terminate -+ as of the date such litigation is filed. -+ -+ 4. Redistribution. You may reproduce and distribute copies of the -+ Work or Derivative Works thereof in any medium, with or without -+ modifications, and in Source or Object form, provided that You -+ meet the following conditions: -+ -+ (a) You must give any other recipients of the Work or -+ Derivative Works a copy of this License; and -+ -+ (b) You must cause any modified files to carry prominent notices -+ stating that You changed the files; and -+ -+ (c) You must retain, in the Source form of any Derivative Works -+ that You distribute, all copyright, patent, trademark, and -+ attribution notices from the Source form of the Work, -+ excluding those notices that do not pertain to any part of -+ the Derivative Works; and -+ -+ (d) If the Work includes a "NOTICE" text file as part of its -+ distribution, then any Derivative Works that You distribute must -+ include a readable copy of the attribution notices contained -+ within such NOTICE file, excluding those notices that do not -+ pertain to any part of the Derivative Works, in at least one -+ of the following places: within a NOTICE text file distributed -+ as part of the Derivative Works; within the Source form or -+ documentation, if provided along with the Derivative Works; or, -+ within a display generated by the Derivative Works, if and -+ wherever such third-party notices normally appear. The contents -+ of the NOTICE file are for informational purposes only and -+ do not modify the License. You may add Your own attribution -+ notices within Derivative Works that You distribute, alongside -+ or as an addendum to the NOTICE text from the Work, provided -+ that such additional attribution notices cannot be construed -+ as modifying the License. -+ -+ You may add Your own copyright statement to Your modifications and -+ may provide additional or different license terms and conditions -+ for use, reproduction, or distribution of Your modifications, or -+ for any such Derivative Works as a whole, provided Your use, -+ reproduction, and distribution of the Work otherwise complies with -+ the conditions stated in this License. -+ -+ 5. Submission of Contributions. Unless You explicitly state otherwise, -+ any Contribution intentionally submitted for inclusion in the Work -+ by You to the Licensor shall be under the terms and conditions of -+ this License, without any additional terms or conditions. -+ Notwithstanding the above, nothing herein shall supersede or modify -+ the terms of any separate license agreement you may have executed -+ with Licensor regarding such Contributions. -+ -+ 6. Trademarks. This License does not grant permission to use the trade -+ names, trademarks, service marks, or product names of the Licensor, -+ except as required for reasonable and customary use in describing the -+ origin of the Work and reproducing the content of the NOTICE file. -+ -+ 7. Disclaimer of Warranty. Unless required by applicable law or -+ agreed to in writing, Licensor provides the Work (and each -+ Contributor provides its Contributions) on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -+ implied, including, without limitation, any warranties or conditions -+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -+ PARTICULAR PURPOSE. You are solely responsible for determining the -+ appropriateness of using or redistributing the Work and assume any -+ risks associated with Your exercise of permissions under this License. -+ -+ 8. Limitation of Liability. In no event and under no legal theory, -+ whether in tort (including negligence), contract, or otherwise, -+ unless required by applicable law (such as deliberate and grossly -+ negligent acts) or agreed to in writing, shall any Contributor be -+ liable to You for damages, including any direct, indirect, special, -+ incidental, or consequential damages of any character arising as a -+ result of this License or out of the use or inability to use the -+ Work (including but not limited to damages for loss of goodwill, -+ work stoppage, computer failure or malfunction, or any and all -+ other commercial damages or losses), even if such Contributor -+ has been advised of the possibility of such damages. -+ -+ 9. Accepting Warranty or Additional Liability. While redistributing -+ the Work or Derivative Works thereof, You may choose to offer, -+ and charge a fee for, acceptance of support, warranty, indemnity, -+ or other liability obligations and/or rights consistent with this -+ License. However, in accepting such obligations, You may act only -+ on Your own behalf and on Your sole responsibility, not on behalf -+ of any other Contributor, and only if You agree to indemnify, -+ defend, and hold each Contributor harmless for any liability -+ incurred by, or claims asserted against, such Contributor by reason -+ of your accepting any such warranty or additional liability. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "{}" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright {yyyy} {name of copyright owner} -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -diff --git a/vendor/github.com/opencontainers/selinux/README.md b/vendor/github.com/opencontainers/selinux/README.md -new file mode 100644 -index 0000000..043a929 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/README.md -@@ -0,0 +1,7 @@ -+# selinux -+ -+[![GoDoc](https://godoc.org/github.com/opencontainers/selinux?status.svg)](https://godoc.org/github.com/opencontainers/selinux) [![Go Report Card](https://goreportcard.com/badge/github.com/opencontainers/selinux)](https://goreportcard.com/report/github.com/opencontainers/selinux) [![Build Status](https://travis-ci.org/opencontainers/selinux.svg?branch=master)](https://travis-ci.org/opencontainers/selinux) -+ -+Common SELinux package used across the container ecosystem. -+ -+Please see the [godoc](https://godoc.org/github.com/opencontainers/selinux) for more information. -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go b/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go -new file mode 100644 -index 0000000..6cfc5fd ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go -@@ -0,0 +1,84 @@ -+// +build !selinux !linux -+ -+package label -+ -+// InitLabels returns the process label and file labels to be used within -+// the container. A list of options can be passed into this function to alter -+// the labels. -+func InitLabels(options []string) (string, string, error) { -+ return "", "", nil -+} -+ -+func GetROMountLabel() string { -+ return "" -+} -+ -+func GenLabels(options string) (string, string, error) { -+ return "", "", nil -+} -+ -+func FormatMountLabel(src string, mountLabel string) string { -+ return src -+} -+ -+func SetProcessLabel(processLabel string) error { -+ return nil -+} -+ -+func GetFileLabel(path string) (string, error) { -+ return "", nil -+} -+ -+func SetFileLabel(path string, fileLabel string) error { -+ return nil -+} -+ -+func SetFileCreateLabel(fileLabel string) error { -+ return nil -+} -+ -+func Relabel(path string, fileLabel string, shared bool) error { -+ return nil -+} -+ -+func GetPidLabel(pid int) (string, error) { -+ return "", nil -+} -+ -+func Init() { -+} -+ -+func ReserveLabel(label string) error { -+ return nil -+} -+ -+func ReleaseLabel(label string) error { -+ return nil -+} -+ -+// DupSecOpt takes a process label and returns security options that -+// can be used to set duplicate labels on future container processes -+func DupSecOpt(src string) []string { -+ return nil -+} -+ -+// DisableSecOpt returns a security opt that can disable labeling -+// support for future container processes -+func DisableSecOpt() []string { -+ return nil -+} -+ -+// Validate checks that the label does not include unexpected options -+func Validate(label string) error { -+ return nil -+} -+ -+// RelabelNeeded checks whether the user requested a relabel -+func RelabelNeeded(label string) bool { -+ return false -+} -+ -+// IsShared checks that the label includes a "shared" mark -+func IsShared(label string) bool { -+ return false -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go b/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go -new file mode 100644 -index 0000000..569dcf0 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go -@@ -0,0 +1,204 @@ -+// +build selinux,linux -+ -+package label -+ -+import ( -+ "fmt" -+ "strings" -+ -+ "github.com/opencontainers/selinux/go-selinux" -+) -+ -+// Valid Label Options -+var validOptions = map[string]bool{ -+ "disable": true, -+ "type": true, -+ "user": true, -+ "role": true, -+ "level": true, -+} -+ -+var ErrIncompatibleLabel = fmt.Errorf("Bad SELinux option z and Z can not be used together") -+ -+// InitLabels returns the process label and file labels to be used within -+// the container. A list of options can be passed into this function to alter -+// the labels. The labels returned will include a random MCS String, that is -+// guaranteed to be unique. -+func InitLabels(options []string) (string, string, error) { -+ if !selinux.GetEnabled() { -+ return "", "", nil -+ } -+ processLabel, mountLabel := selinux.ContainerLabels() -+ if processLabel != "" { -+ pcon := selinux.NewContext(processLabel) -+ mcon := selinux.NewContext(mountLabel) -+ for _, opt := range options { -+ if opt == "disable" { -+ return "", "", nil -+ } -+ if i := strings.Index(opt, ":"); i == -1 { -+ return "", "", fmt.Errorf("Bad label option %q, valid options 'disable' or \n'user, role, level, type' followed by ':' and a value", opt) -+ } -+ con := strings.SplitN(opt, ":", 2) -+ if !validOptions[con[0]] { -+ return "", "", fmt.Errorf("Bad label option %q, valid options 'disable, user, role, level, type'", con[0]) -+ -+ } -+ pcon[con[0]] = con[1] -+ if con[0] == "level" || con[0] == "user" { -+ mcon[con[0]] = con[1] -+ } -+ } -+ processLabel = pcon.Get() -+ mountLabel = mcon.Get() -+ } -+ return processLabel, mountLabel, nil -+} -+ -+func ROMountLabel() string { -+ return selinux.ROFileLabel() -+} -+ -+// DEPRECATED: The GenLabels function is only to be used during the transition to the official API. -+func GenLabels(options string) (string, string, error) { -+ return InitLabels(strings.Fields(options)) -+} -+ -+// FormatMountLabel returns a string to be used by the mount command. -+// The format of this string will be used to alter the labeling of the mountpoint. -+// The string returned is suitable to be used as the options field of the mount command. -+// If you need to have additional mount point options, you can pass them in as -+// the first parameter. Second parameter is the label that you wish to apply -+// to all content in the mount point. -+func FormatMountLabel(src, mountLabel string) string { -+ if mountLabel != "" { -+ switch src { -+ case "": -+ src = fmt.Sprintf("context=%q", mountLabel) -+ default: -+ src = fmt.Sprintf("%s,context=%q", src, mountLabel) -+ } -+ } -+ return src -+} -+ -+// SetProcessLabel takes a process label and tells the kernel to assign the -+// label to the next program executed by the current process. -+func SetProcessLabel(processLabel string) error { -+ if processLabel == "" { -+ return nil -+ } -+ return selinux.SetExecLabel(processLabel) -+} -+ -+// ProcessLabel returns the process label that the kernel will assign -+// to the next program executed by the current process. If "" is returned -+// this indicates that the default labeling will happen for the process. -+func ProcessLabel() (string, error) { -+ return selinux.ExecLabel() -+} -+ -+// GetFileLabel returns the label for specified path -+func FileLabel(path string) (string, error) { -+ return selinux.FileLabel(path) -+} -+ -+// SetFileLabel modifies the "path" label to the specified file label -+func SetFileLabel(path string, fileLabel string) error { -+ if selinux.GetEnabled() && fileLabel != "" { -+ return selinux.SetFileLabel(path, fileLabel) -+ } -+ return nil -+} -+ -+// SetFileCreateLabel tells the kernel the label for all files to be created -+func SetFileCreateLabel(fileLabel string) error { -+ if selinux.GetEnabled() { -+ return selinux.SetFSCreateLabel(fileLabel) -+ } -+ return nil -+} -+ -+// Relabel changes the label of path to the filelabel string. -+// It changes the MCS label to s0 if shared is true. -+// This will allow all containers to share the content. -+func Relabel(path string, fileLabel string, shared bool) error { -+ if !selinux.GetEnabled() { -+ return nil -+ } -+ -+ if fileLabel == "" { -+ return nil -+ } -+ -+ exclude_paths := map[string]bool{"/": true, "/usr": true, "/etc": true} -+ if exclude_paths[path] { -+ return fmt.Errorf("SELinux relabeling of %s is not allowed", path) -+ } -+ -+ if shared { -+ c := selinux.NewContext(fileLabel) -+ c["level"] = "s0" -+ fileLabel = c.Get() -+ } -+ if err := selinux.Chcon(path, fileLabel, true); err != nil { -+ return err -+ } -+ return nil -+} -+ -+// PidLabel will return the label of the process running with the specified pid -+func PidLabel(pid int) (string, error) { -+ return selinux.PidLabel(pid) -+} -+ -+// Init initialises the labeling system -+func Init() { -+ selinux.GetEnabled() -+} -+ -+// ReserveLabel will record the fact that the MCS label has already been used. -+// This will prevent InitLabels from using the MCS label in a newly created -+// container -+func ReserveLabel(label string) error { -+ selinux.ReserveLabel(label) -+ return nil -+} -+ -+// ReleaseLabel will remove the reservation of the MCS label. -+// This will allow InitLabels to use the MCS label in a newly created -+// containers -+func ReleaseLabel(label string) error { -+ selinux.ReleaseLabel(label) -+ return nil -+} -+ -+// DupSecOpt takes a process label and returns security options that -+// can be used to set duplicate labels on future container processes -+func DupSecOpt(src string) []string { -+ return selinux.DupSecOpt(src) -+} -+ -+// DisableSecOpt returns a security opt that can disable labeling -+// support for future container processes -+func DisableSecOpt() []string { -+ return selinux.DisableSecOpt() -+} -+ -+// Validate checks that the label does not include unexpected options -+func Validate(label string) error { -+ if strings.Contains(label, "z") && strings.Contains(label, "Z") { -+ return ErrIncompatibleLabel -+ } -+ return nil -+} -+ -+// RelabelNeeded checks whether the user requested a relabel -+func RelabelNeeded(label string) bool { -+ return strings.Contains(label, "z") || strings.Contains(label, "Z") -+} -+ -+// IsShared checks that the label includes a "shared" mark -+func IsShared(label string) bool { -+ return strings.Contains(label, "z") -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go b/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go -new file mode 100644 -index 0000000..4cf2c45 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go -@@ -0,0 +1,593 @@ -+// +build linux -+ -+package selinux -+ -+import ( -+ "bufio" -+ "crypto/rand" -+ "encoding/binary" -+ "fmt" -+ "io" -+ "os" -+ "path/filepath" -+ "regexp" -+ "strconv" -+ "strings" -+ "sync" -+ "syscall" -+) -+ -+const ( -+ // Enforcing constant indicate SELinux is in enforcing mode -+ Enforcing = 1 -+ // Permissive constant to indicate SELinux is in permissive mode -+ Permissive = 0 -+ // Disabled constant to indicate SELinux is disabled -+ Disabled = -1 -+ selinuxDir = "/etc/selinux/" -+ selinuxConfig = selinuxDir + "config" -+ selinuxTypeTag = "SELINUXTYPE" -+ selinuxTag = "SELINUX" -+ selinuxPath = "/sys/fs/selinux" -+ xattrNameSelinux = "security.selinux" -+ stRdOnly = 0x01 -+) -+ -+type selinuxState struct { -+ enabledSet bool -+ enabled bool -+ selinuxfsSet bool -+ selinuxfs string -+ mcsList map[string]bool -+ sync.Mutex -+} -+ -+var ( -+ assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) -+ state = selinuxState{ -+ mcsList: make(map[string]bool), -+ } -+) -+ -+// Context is a representation of the SELinux label broken into 4 parts -+type Context map[string]string -+ -+func (s *selinuxState) setEnable(enabled bool) bool { -+ s.Lock() -+ defer s.Unlock() -+ s.enabledSet = true -+ s.enabled = enabled -+ return s.enabled -+} -+ -+func (s *selinuxState) getEnabled() bool { -+ s.Lock() -+ enabled := s.enabled -+ enabledSet := s.enabledSet -+ s.Unlock() -+ if enabledSet { -+ return enabled -+ } -+ -+ enabled = false -+ if fs := getSelinuxMountPoint(); fs != "" { -+ if con, _ := CurrentLabel(); con != "kernel" { -+ enabled = true -+ } -+ } -+ return s.setEnable(enabled) -+} -+ -+// SetDisabled disables selinux support for the package -+func SetDisabled() { -+ state.setEnable(false) -+} -+ -+func (s *selinuxState) setSELinuxfs(selinuxfs string) string { -+ s.Lock() -+ defer s.Unlock() -+ s.selinuxfsSet = true -+ s.selinuxfs = selinuxfs -+ return s.selinuxfs -+} -+ -+func (s *selinuxState) getSELinuxfs() string { -+ s.Lock() -+ selinuxfs := s.selinuxfs -+ selinuxfsSet := s.selinuxfsSet -+ s.Unlock() -+ if selinuxfsSet { -+ return selinuxfs -+ } -+ -+ selinuxfs = "" -+ f, err := os.Open("/proc/self/mountinfo") -+ if err != nil { -+ return selinuxfs -+ } -+ defer f.Close() -+ -+ scanner := bufio.NewScanner(f) -+ for scanner.Scan() { -+ txt := scanner.Text() -+ // Safe as mountinfo encodes mountpoints with spaces as \040. -+ sepIdx := strings.Index(txt, " - ") -+ if sepIdx == -1 { -+ continue -+ } -+ if !strings.Contains(txt[sepIdx:], "selinuxfs") { -+ continue -+ } -+ fields := strings.Split(txt, " ") -+ if len(fields) < 5 { -+ continue -+ } -+ selinuxfs = fields[4] -+ break -+ } -+ -+ if selinuxfs != "" { -+ var buf syscall.Statfs_t -+ syscall.Statfs(selinuxfs, &buf) -+ if (buf.Flags & stRdOnly) == 1 { -+ selinuxfs = "" -+ } -+ } -+ return s.setSELinuxfs(selinuxfs) -+} -+ -+// getSelinuxMountPoint returns the path to the mountpoint of an selinuxfs -+// filesystem or an empty string if no mountpoint is found. Selinuxfs is -+// a proc-like pseudo-filesystem that exposes the selinux policy API to -+// processes. The existence of an selinuxfs mount is used to determine -+// whether selinux is currently enabled or not. -+func getSelinuxMountPoint() string { -+ return state.getSELinuxfs() -+} -+ -+// GetEnabled returns whether selinux is currently enabled. -+func GetEnabled() bool { -+ return state.getEnabled() -+} -+ -+func readConfig(target string) (value string) { -+ var ( -+ val, key string -+ bufin *bufio.Reader -+ ) -+ -+ in, err := os.Open(selinuxConfig) -+ if err != nil { -+ return "" -+ } -+ defer in.Close() -+ -+ bufin = bufio.NewReader(in) -+ -+ for done := false; !done; { -+ var line string -+ if line, err = bufin.ReadString('\n'); err != nil { -+ if err != io.EOF { -+ return "" -+ } -+ done = true -+ } -+ line = strings.TrimSpace(line) -+ if len(line) == 0 { -+ // Skip blank lines -+ continue -+ } -+ if line[0] == ';' || line[0] == '#' { -+ // Skip comments -+ continue -+ } -+ if groups := assignRegex.FindStringSubmatch(line); groups != nil { -+ key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -+ if key == target { -+ return strings.Trim(val, "\"") -+ } -+ } -+ } -+ return "" -+} -+ -+func getSELinuxPolicyRoot() string { -+ return selinuxDir + readConfig(selinuxTypeTag) -+} -+ -+func readCon(name string) (string, error) { -+ var val string -+ -+ in, err := os.Open(name) -+ if err != nil { -+ return "", err -+ } -+ defer in.Close() -+ -+ _, err = fmt.Fscanf(in, "%s", &val) -+ return val, err -+} -+ -+// SetFileLabel sets the SELinux label for this path or returns an error. -+func SetFileLabel(path string, label string) error { -+ return lsetxattr(path, xattrNameSelinux, []byte(label), 0) -+} -+ -+// Filecon returns the SELinux label for this path or returns an error. -+func FileLabel(path string) (string, error) { -+ label, err := lgetxattr(path, xattrNameSelinux) -+ if err != nil { -+ return "", err -+ } -+ // Trim the NUL byte at the end of the byte buffer, if present. -+ if len(label) > 0 && label[len(label)-1] == '\x00' { -+ label = label[:len(label)-1] -+ } -+ return string(label), nil -+} -+ -+/* -+SetFSCreateLabel tells kernel the label to create all file system objects -+created by this task. Setting label="" to return to default. -+*/ -+func SetFSCreateLabel(label string) error { -+ return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid()), label) -+} -+ -+/* -+FSCreateLabel returns the default label the kernel which the kernel is using -+for file system objects created by this task. "" indicates default. -+*/ -+func FSCreateLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid())) -+} -+ -+// CurrentLabel returns the SELinux label of the current process thread, or an error. -+func CurrentLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/current", syscall.Gettid())) -+} -+ -+// PidLabel returns the SELinux label of the given pid, or an error. -+func PidLabel(pid int) (string, error) { -+ return readCon(fmt.Sprintf("/proc/%d/attr/current", pid)) -+} -+ -+/* -+ExecLabel returns the SELinux label that the kernel will use for any programs -+that are executed by the current process thread, or an error. -+*/ -+func ExecLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid())) -+} -+ -+func writeCon(name string, val string) error { -+ out, err := os.OpenFile(name, os.O_WRONLY, 0) -+ if err != nil { -+ return err -+ } -+ defer out.Close() -+ -+ if val != "" { -+ _, err = out.Write([]byte(val)) -+ } else { -+ _, err = out.Write(nil) -+ } -+ return err -+} -+ -+/* -+SetExecLabel sets the SELinux label that the kernel will use for any programs -+that are executed by the current process thread, or an error. -+*/ -+func SetExecLabel(label string) error { -+ return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid()), label) -+} -+ -+// Get returns the Context as a string -+func (c Context) Get() string { -+ return fmt.Sprintf("%s:%s:%s:%s", c["user"], c["role"], c["type"], c["level"]) -+} -+ -+// NewContext creates a new Context struct from the specified label -+func NewContext(label string) Context { -+ c := make(Context) -+ -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ c["user"] = con[0] -+ c["role"] = con[1] -+ c["type"] = con[2] -+ c["level"] = con[3] -+ } -+ return c -+} -+ -+// ReserveLabel reserves the MLS/MCS level component of the specified label -+func ReserveLabel(label string) { -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ mcsAdd(con[3]) -+ } -+} -+ -+func selinuxEnforcePath() string { -+ return fmt.Sprintf("%s/enforce", selinuxPath) -+} -+ -+// EnforceMode returns the current SELinux mode Enforcing, Permissive, Disabled -+func EnforceMode() int { -+ var enforce int -+ -+ enforceS, err := readCon(selinuxEnforcePath()) -+ if err != nil { -+ return -1 -+ } -+ -+ enforce, err = strconv.Atoi(string(enforceS)) -+ if err != nil { -+ return -1 -+ } -+ return enforce -+} -+ -+/* -+SetEnforce sets the current SELinux mode Enforcing, Permissive. -+Disabled is not valid, since this needs to be set at boot time. -+*/ -+func SetEnforceMode(mode int) error { -+ return writeCon(selinuxEnforcePath(), fmt.Sprintf("%d", mode)) -+} -+ -+/* -+DefaultEnforceMode returns the systems default SELinux mode Enforcing, -+Permissive or Disabled. Note this is is just the default at boot time. -+EnforceMode tells you the systems current mode. -+*/ -+func DefaultEnforceMode() int { -+ switch readConfig(selinuxTag) { -+ case "enforcing": -+ return Enforcing -+ case "permissive": -+ return Permissive -+ } -+ return Disabled -+} -+ -+func mcsAdd(mcs string) error { -+ state.Lock() -+ defer state.Unlock() -+ if state.mcsList[mcs] { -+ return fmt.Errorf("MCS Label already exists") -+ } -+ state.mcsList[mcs] = true -+ return nil -+} -+ -+func mcsDelete(mcs string) { -+ state.Lock() -+ defer state.Unlock() -+ state.mcsList[mcs] = false -+} -+ -+func intToMcs(id int, catRange uint32) string { -+ var ( -+ SETSIZE = int(catRange) -+ TIER = SETSIZE -+ ORD = id -+ ) -+ -+ if id < 1 || id > 523776 { -+ return "" -+ } -+ -+ for ORD > TIER { -+ ORD = ORD - TIER -+ TIER-- -+ } -+ TIER = SETSIZE - TIER -+ ORD = ORD + TIER -+ return fmt.Sprintf("s0:c%d,c%d", TIER, ORD) -+} -+ -+func uniqMcs(catRange uint32) string { -+ var ( -+ n uint32 -+ c1, c2 uint32 -+ mcs string -+ ) -+ -+ for { -+ binary.Read(rand.Reader, binary.LittleEndian, &n) -+ c1 = n % catRange -+ binary.Read(rand.Reader, binary.LittleEndian, &n) -+ c2 = n % catRange -+ if c1 == c2 { -+ continue -+ } else { -+ if c1 > c2 { -+ c1, c2 = c2, c1 -+ } -+ } -+ mcs = fmt.Sprintf("s0:c%d,c%d", c1, c2) -+ if err := mcsAdd(mcs); err != nil { -+ continue -+ } -+ break -+ } -+ return mcs -+} -+ -+/* -+ReleaseLabel will unreserve the MLS/MCS Level field of the specified label. -+Allowing it to be used by another process. -+*/ -+func ReleaseLabel(label string) { -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ mcsDelete(con[3]) -+ } -+} -+ -+var roFileLabel string -+ -+// ROFileLabel returns the specified SELinux readonly file label -+func ROFileLabel() (fileLabel string) { -+ return roFileLabel -+} -+ -+/* -+ContainerLabels returns an allocated processLabel and fileLabel to be used for -+container labeling by the calling process. -+*/ -+func ContainerLabels() (processLabel string, fileLabel string) { -+ var ( -+ val, key string -+ bufin *bufio.Reader -+ ) -+ -+ if !GetEnabled() { -+ return "", "" -+ } -+ lxcPath := fmt.Sprintf("%s/contexts/lxc_contexts", getSELinuxPolicyRoot()) -+ in, err := os.Open(lxcPath) -+ if err != nil { -+ return "", "" -+ } -+ defer in.Close() -+ -+ bufin = bufio.NewReader(in) -+ -+ for done := false; !done; { -+ var line string -+ if line, err = bufin.ReadString('\n'); err != nil { -+ if err == io.EOF { -+ done = true -+ } else { -+ goto exit -+ } -+ } -+ line = strings.TrimSpace(line) -+ if len(line) == 0 { -+ // Skip blank lines -+ continue -+ } -+ if line[0] == ';' || line[0] == '#' { -+ // Skip comments -+ continue -+ } -+ if groups := assignRegex.FindStringSubmatch(line); groups != nil { -+ key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -+ if key == "process" { -+ processLabel = strings.Trim(val, "\"") -+ } -+ if key == "file" { -+ fileLabel = strings.Trim(val, "\"") -+ } -+ if key == "ro_file" { -+ roFileLabel = strings.Trim(val, "\"") -+ } -+ } -+ } -+ -+ if processLabel == "" || fileLabel == "" { -+ return "", "" -+ } -+ -+ if roFileLabel == "" { -+ roFileLabel = fileLabel -+ } -+exit: -+ mcs := uniqMcs(1024) -+ scon := NewContext(processLabel) -+ scon["level"] = mcs -+ processLabel = scon.Get() -+ scon = NewContext(fileLabel) -+ scon["level"] = mcs -+ fileLabel = scon.Get() -+ return processLabel, fileLabel -+} -+ -+// SecurityCheckContext validates that the SELinux label is understood by the kernel -+func SecurityCheckContext(val string) error { -+ return writeCon(fmt.Sprintf("%s.context", selinuxPath), val) -+} -+ -+/* -+CopyLevel returns a label with the MLS/MCS level from src label replaces on -+the dest label. -+*/ -+func CopyLevel(src, dest string) (string, error) { -+ if src == "" { -+ return "", nil -+ } -+ if err := SecurityCheckContext(src); err != nil { -+ return "", err -+ } -+ if err := SecurityCheckContext(dest); err != nil { -+ return "", err -+ } -+ scon := NewContext(src) -+ tcon := NewContext(dest) -+ mcsDelete(tcon["level"]) -+ mcsAdd(scon["level"]) -+ tcon["level"] = scon["level"] -+ return tcon.Get(), nil -+} -+ -+// Prevent users from relabing system files -+func badPrefix(fpath string) error { -+ var badprefixes = []string{"/usr"} -+ -+ for _, prefix := range badprefixes { -+ if fpath == prefix || strings.HasPrefix(fpath, fmt.Sprintf("%s/", prefix)) { -+ return fmt.Errorf("relabeling content in %s is not allowed", prefix) -+ } -+ } -+ return nil -+} -+ -+// Chcon changes the fpath file object to the SELinux label label. -+// If the fpath is a directory and recurse is true Chcon will walk the -+// directory tree setting the label -+func Chcon(fpath string, label string, recurse bool) error { -+ if label == "" { -+ return nil -+ } -+ if err := badPrefix(fpath); err != nil { -+ return err -+ } -+ callback := func(p string, info os.FileInfo, err error) error { -+ return SetFileLabel(p, label) -+ } -+ -+ if recurse { -+ return filepath.Walk(fpath, callback) -+ } -+ -+ return SetFileLabel(fpath, label) -+} -+ -+// DupSecOpt takes an SELinux process label and returns security options that -+// can will set the SELinux Type and Level for future container processes -+func DupSecOpt(src string) []string { -+ if src == "" { -+ return nil -+ } -+ con := NewContext(src) -+ if con["user"] == "" || -+ con["role"] == "" || -+ con["type"] == "" || -+ con["level"] == "" { -+ return nil -+ } -+ return []string{"user:" + con["user"], -+ "role:" + con["role"], -+ "type:" + con["type"], -+ "level:" + con["level"]} -+} -+ -+// DisableSecOpt returns a security opt that can be used to disabling SELinux -+// labeling support for future container processes -+func DisableSecOpt() []string { -+ return []string{"disable"} -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go b/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go -new file mode 100644 -index 0000000..7f2ef85 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go -@@ -0,0 +1,78 @@ -+// +build linux -+ -+package selinux -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _zero uintptr -+ -+// Returns a []byte slice if the xattr is set and nil otherwise -+// Requires path and its attribute as arguments -+func lgetxattr(path string, attr string) ([]byte, error) { -+ var sz int -+ pathBytes, err := syscall.BytePtrFromString(path) -+ if err != nil { -+ return nil, err -+ } -+ attrBytes, err := syscall.BytePtrFromString(attr) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Start with a 128 length byte array -+ sz = 128 -+ dest := make([]byte, sz) -+ destBytes := unsafe.Pointer(&dest[0]) -+ _sz, _, errno := syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(destBytes), uintptr(len(dest)), 0, 0) -+ -+ switch { -+ case errno == syscall.ENODATA: -+ return nil, errno -+ case errno == syscall.ENOTSUP: -+ return nil, errno -+ case errno == syscall.ERANGE: -+ // 128 byte array might just not be good enough, -+ // A dummy buffer is used ``uintptr(0)`` to get real size -+ // of the xattrs on disk -+ _sz, _, errno = syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(unsafe.Pointer(nil)), uintptr(0), 0, 0) -+ sz = int(_sz) -+ if sz < 0 { -+ return nil, errno -+ } -+ dest = make([]byte, sz) -+ destBytes := unsafe.Pointer(&dest[0]) -+ _sz, _, errno = syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(destBytes), uintptr(len(dest)), 0, 0) -+ if errno != 0 { -+ return nil, errno -+ } -+ case errno != 0: -+ return nil, errno -+ } -+ sz = int(_sz) -+ return dest[:sz], nil -+} -+ -+func lsetxattr(path string, attr string, data []byte, flags int) error { -+ pathBytes, err := syscall.BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ attrBytes, err := syscall.BytePtrFromString(attr) -+ if err != nil { -+ return err -+ } -+ var dataBytes unsafe.Pointer -+ if len(data) > 0 { -+ dataBytes = unsafe.Pointer(&data[0]) -+ } else { -+ dataBytes = unsafe.Pointer(&_zero) -+ } -+ _, _, errno := syscall.Syscall6(syscall.SYS_LSETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(dataBytes), uintptr(len(data)), uintptr(flags), 0) -+ if errno != 0 { -+ return errno -+ } -+ return nil -+} --- -2.7.4.3 - diff --git a/patch/0003-runc-add-timeout-for-syscall.Openat.patch b/patch/0003-runc-add-timeout-for-syscall.Openat.patch new file mode 100644 index 0000000000000000000000000000000000000000..74584bc115b73f694dc4eaaaf7cad7d614e65d8b --- /dev/null +++ b/patch/0003-runc-add-timeout-for-syscall.Openat.patch @@ -0,0 +1,62 @@ +From 1bc820d277edc05d145b8729e3a8e343b9d4b529 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 10 Oct 2022 14:49:30 +0800 +Subject: [PATCH] runc:add timeout for syscall.Openat + +Openat will be blocked until the fifo on the other side is opened, but in some +abnomal scenario(e.g. containerd is killed), Openat maybe be blocked all the time. +--- + .../libcontainer/standard_init_linux.go | 29 ++++++++++++++----- + 1 file changed, 22 insertions(+), 7 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index 585a04f..ab553ef 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -6,6 +6,7 @@ import ( + "os" + "os/exec" + "strconv" ++ "time" + + "github.com/opencontainers/runtime-spec/specs-go" + "github.com/opencontainers/selinux/go-selinux" +@@ -227,14 +228,28 @@ func (l *linuxStandardInit) Init() error { + // was given to us was an O_PATH fd to the fifo itself. Linux allows us to + // re-open an O_PATH fd through /proc. + fifoPath := "/proc/self/fd/" + strconv.Itoa(l.fifoFd) +- fd, err := unix.Open(fifoPath, unix.O_WRONLY|unix.O_CLOEXEC, 0) +- if err != nil { +- return &os.PathError{Op: "open exec fifo", Path: fifoPath, Err: err} +- } +- if _, err := unix.Write(fd, []byte("0")); err != nil { +- return &os.PathError{Op: "write exec fifo", Path: fifoPath, Err: err} +- } ++ ch := make(chan error, 1) ++ go func() { ++ fd, err := unix.Open(fifoPath, unix.O_WRONLY|unix.O_CLOEXEC, 0) ++ if err != nil { ++ ch <- &os.PathError{Op: "open exec fifo", Path: fifoPath, Err: err} ++ return ++ } ++ if _, err := unix.Write(fd, []byte("0")); err != nil { ++ ch <- &os.PathError{Op: "write exec fifo", Path: fifoPath, Err: err} ++ return ++ } ++ ch <- nil ++ }() + ++ select { ++ case chErr := <- ch: ++ if chErr != nil { ++ return chErr ++ } ++ case <- time.After(120 * time.Second): ++ return fmt.Errorf("wait for the fifo to be opened on the other side timeout ") ++ } + // Close the O_PATH fifofd fd before exec because the kernel resets + // dumpable in the wrong order. This has been fixed in newer kernels, but + // we keep this to ensure CVE-2016-9962 doesn't re-emerge on older kernels. +-- +2.30.0 + diff --git a/patch/0004-handle-unprivileged-operations-and-dumpable.patch b/patch/0004-handle-unprivileged-operations-and-dumpable.patch deleted file mode 100644 index 9b001584cac629b994e71a839c948842ab0af8a9..0000000000000000000000000000000000000000 --- a/patch/0004-handle-unprivileged-operations-and-dumpable.patch +++ /dev/null @@ -1,272 +0,0 @@ -From 511eb03806523b4f51cbde7daedd563a3b5810e4 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 17 Jan 2017 12:25:21 +1100 -Subject: [PATCH 04/94] *: handle unprivileged operations and - !dumpable - -Effectively, !dumpable makes implementing rootless containers quite -hard, due to a bunch of different operations on /proc/self no longer -being possible without reordering everything. - -!dumpable only really makes sense when you are switching between -different security contexts, which is only the case when we are joining -namespaces. Unfortunately this means that !dumpable will still have -issues in this instance, and it should only be necessary to set -!dumpable if we are not joining USER namespaces (new kernels have -protections that make !dumpable no longer necessary). But that's a topic -for another time. - -This also includes code to unset and then re-set dumpable when doing the -USER namespace mappings. This should also be safe because in principle -processes in a container can't see us until after we fork into the PID -namespace (which happens after the user mapping). - -In rootless containers, it is not possible to set a non-dumpable -process's /proc/self/oom_score_adj (it's owned by root and thus not -writeable). Thus, it needs to be set inside nsexec before we set -ourselves as non-dumpable. - -Change-Id: Iab9e2d9bf3997284253b4b33a504e8581fd787ae -Signed-off-by: Aleksa Sarai ---- - libcontainer/container_linux.go | 6 ++++ - libcontainer/init_linux.go | 8 ------ - libcontainer/message_linux.go | 14 +++++---- - libcontainer/nsenter/nsexec.c | 64 ++++++++++++++++++++++++++++++++++------- - libcontainer/process_linux.go | 8 ------ - 5 files changed, 68 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index cd9235d..d2e0e2b 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1460,5 +1460,11 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - } - } - -+ // write oom_score_adj -+ r.AddData(&Bytemsg{ -+ Type: OomScoreAdjAttr, -+ Value: []byte(fmt.Sprintf("%d", c.config.OomScoreAdj)), -+ }) -+ - return bytes.NewReader(r.Serialize()), nil - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 39b83a4..0f5d412 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -6,10 +6,8 @@ import ( - "encoding/json" - "fmt" - "io" -- "io/ioutil" - "net" - "os" -- "strconv" - "strings" - "syscall" - "unsafe" -@@ -369,12 +367,6 @@ func setupRlimits(limits []configs.Rlimit, pid int) error { - return nil - } - --func setOomScoreAdj(oomScoreAdj int, pid int) error { -- path := fmt.Sprintf("/proc/%d/oom_score_adj", pid) -- -- return ioutil.WriteFile(path, []byte(strconv.Itoa(oomScoreAdj)), 0600) --} -- - const _P_PID = 1 - - type siginfo struct { -diff --git a/libcontainer/message_linux.go b/libcontainer/message_linux.go -index a189c72..321d664 100644 ---- a/libcontainer/message_linux.go -+++ b/libcontainer/message_linux.go -@@ -11,12 +11,14 @@ import ( - // list of known message types we want to send to bootstrap program - // The number is randomly chosen to not conflict with known netlink types - const ( -- InitMsg uint16 = 62000 -- CloneFlagsAttr uint16 = 27281 -- NsPathsAttr uint16 = 27282 -- UidmapAttr uint16 = 27283 -- GidmapAttr uint16 = 27284 -- SetgroupAttr uint16 = 27285 -+ InitMsg uint16 = 62000 -+ CloneFlagsAttr uint16 = 27281 -+ NsPathsAttr uint16 = 27282 -+ UidmapAttr uint16 = 27283 -+ GidmapAttr uint16 = 27284 -+ SetgroupAttr uint16 = 27285 -+ OomScoreAdjAttr uint16 = 27286 -+ - // When syscall.NLA_HDRLEN is in gccgo, take this out. - syscall_NLA_HDRLEN = (syscall.SizeofNlAttr + syscall.NLA_ALIGNTO - 1) & ^(syscall.NLA_ALIGNTO - 1) - ) -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 51bd1e3..9630206 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -72,18 +72,21 @@ struct nlconfig_t { - char *namespaces; - size_t namespaces_len; - uint8_t is_setgroup; -+ char *oom_score_adj; -+ size_t oom_score_adj_len; - }; - - /* - * List of netlink message types sent to us as part of bootstrapping the init. - * These constants are defined in libcontainer/message_linux.go. - */ --#define INIT_MSG 62000 -+#define INIT_MSG 62000 - #define CLONE_FLAGS_ATTR 27281 - #define NS_PATHS_ATTR 27282 --#define UIDMAP_ATTR 27283 --#define GIDMAP_ATTR 27284 -+#define UIDMAP_ATTR 27283 -+#define GIDMAP_ATTR 27284 - #define SETGROUP_ATTR 27285 -+#define OOM_SCORE_ADJ_ATTR 27286 - - /* - * Use the raw syscall for versions of glibc which don't include a function for -@@ -186,7 +189,7 @@ static void update_setgroups(int pid, enum policy_t setgroup) - } - } - --static void update_uidmap(int pid, char *map, int map_len) -+static void update_uidmap(int pid, char *map, size_t map_len) - { - if (map == NULL || map_len <= 0) - return; -@@ -195,7 +198,7 @@ static void update_uidmap(int pid, char *map, int map_len) - bail("failed to update /proc/%d/uid_map", pid); - } - --static void update_gidmap(int pid, char *map, int map_len) -+static void update_gidmap(int pid, char *map, size_t map_len) - { - if (map == NULL || map_len <= 0) - return; -@@ -204,6 +207,15 @@ static void update_gidmap(int pid, char *map, int map_len) - bail("failed to update /proc/%d/gid_map", pid); - } - -+static void update_oom_score_adj(char *data, size_t len) -+{ -+ if (data == NULL || len <= 0) -+ return; -+ -+ if (write_file(data, len, "/proc/self/oom_score_adj") < 0) -+ bail("failed to update /proc/self/oom_score_adj"); -+} -+ - /* A dummy function that just jumps to the given jumpval. */ - static int child_func(void *arg) __attribute__ ((noinline)); - static int child_func(void *arg) -@@ -317,6 +329,10 @@ static void nl_parse(int fd, struct nlconfig_t *config) - case CLONE_FLAGS_ATTR: - config->cloneflags = readint32(current); - break; -+ case OOM_SCORE_ADJ_ATTR: -+ config->oom_score_adj = current; -+ config->oom_score_adj_len = payload_len; -+ break; - case NS_PATHS_ATTR: - config->namespaces = current; - config->namespaces_len = payload_len; -@@ -425,14 +441,32 @@ void nsexec(void) - if (pipenum == -1) - return; - -- /* make the process non-dumpable */ -- if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) != 0) { -- bail("failed to set process as non-dumpable"); -- } -- - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - -+ /* Set oom_score_adj. This has to be done before !dumpable because -+ * /proc/self/oom_score_adj is not writeable unless you're an privileged -+ * user (if !dumpable is set). All children inherit their parent's -+ * oom_score_adj value on fork(2) so this will always be propagated -+ * properly. -+ */ -+ update_oom_score_adj(config.oom_score_adj, config.oom_score_adj_len); -+ -+ /* -+ * Make the process non-dumpable, to avoid various race conditions that -+ * could cause processes in namespaces we're joining to access host -+ * resources (or potentially execute code). -+ * -+ * However, if the number of namespaces we are joining is 0, we are not -+ * going to be switching to a different security context. Thus setting -+ * ourselves to be non-dumpable only breaks things (like rootless -+ * containers), which is the recommendation from the kernel folks. -+ */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) < 0) -+ bail("failed to set process as non-dumpable"); -+ } -+ - /* Pipe so we can tell the child when we've finished setting up. */ - if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sync_child_pipe) < 0) - bail("failed to setup sync pipe between parent and child"); -@@ -681,6 +715,11 @@ void nsexec(void) - * clone_parent rant). So signal our parent to hook us up. - */ - -+ /* Switching is only necessary if we joined namespaces. */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0) -+ bail("failed to set process as dumpable"); -+ } - s = SYNC_USERMAP_PLS; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) - bail("failed to sync with parent: write(SYNC_USERMAP_PLS)"); -@@ -691,6 +730,11 @@ void nsexec(void) - bail("failed to sync with parent: read(SYNC_USERMAP_ACK)"); - if (s != SYNC_USERMAP_ACK) - bail("failed to sync with parent: SYNC_USERMAP_ACK: got %u", s); -+ /* Switching is only necessary if we joined namespaces. */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) < 0) -+ bail("failed to set process as dumpable"); -+ } - } - - /* -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 0f79a38..c60f473 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -85,10 +85,6 @@ func (p *setnsProcess) start() (err error) { - return newSystemErrorWithCausef(err, "adding pid %d to cgroups", p.pid()) - } - } -- // set oom_score_adj -- if err := setOomScoreAdj(p.config.Config.OomScoreAdj, p.pid()); err != nil { -- return newSystemErrorWithCause(err, "setting oom score") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { -@@ -285,10 +281,6 @@ func (p *initProcess) start() error { - if err := p.manager.Set(p.config.Config); err != nil { - return newSystemErrorWithCause(err, "setting cgroup config for ready process") - } -- // set oom_score_adj -- if err := setOomScoreAdj(p.config.Config.OomScoreAdj, p.pid()); err != nil { -- return newSystemErrorWithCause(err, "setting oom score for ready process") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { --- -2.7.4.3 - diff --git a/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch b/patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch similarity index 54% rename from patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch rename to patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch index a985cdd81090e78ec1d4556118fb346ad7cbf470..9094fbe0599b6f9308247b85797e234cdcf72c63 100644 --- a/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch +++ b/patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch @@ -1,8 +1,8 @@ -From 3b61668af89b820482b0a58f5af5316e1529116b Mon Sep 17 00:00:00 2001 -From: Deng Guangxing -Date: Wed, 6 Sep 2017 15:04:47 +0800 -Subject: [PATCH 42/94] update state earlier to avoid cgroup leak when - process failed +From 1d9d98ffd7b452087e70d2e2bd62f8827af58a10 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 10 Oct 2022 15:20:13 +0800 +Subject: [PATCH] runc: update state eariler to avoid cgroup leak when process + failed if process stuck in somewhere. upper caller like containerd may have a timeout for process launching. @@ -22,25 +22,25 @@ This patch perform state updating right after cgroup applying. so Change-Id: I7b247f501986e712a86da3958d1be573af4e84a6 Signed-off-by: Deng Guangxing --- - libcontainer/process_linux.go | 5 +++++ + runc-1.1.3/libcontainer/process_linux.go | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index c9fb202..9373595 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -260,6 +260,11 @@ func (p *initProcess) start() error { +diff --git a/runc-1.1.3/libcontainer/process_linux.go b/runc-1.1.3/libcontainer/process_linux.go +index 446649a..29408d7 100644 +--- a/runc-1.1.3/libcontainer/process_linux.go ++++ b/runc-1.1.3/libcontainer/process_linux.go +@@ -411,6 +411,11 @@ func (p *initProcess) start() (retErr error) { if err := p.manager.Apply(p.pid()); err != nil { - return newSystemErrorWithCause(err, "applying cgroup configuration for process") + return fmt.Errorf("unable to apply cgroup configuration: %w", err) } + // update state here, so we can retrieve process resource + // even it get killed by accident + if _, err := p.container.updateState(p); err != nil { + return err + } - defer func() { - if err != nil { - // TODO: should not be the responsibility to call here + if p.intelRdtManager != nil { + if err := p.intelRdtManager.Apply(p.pid()); err != nil { + return fmt.Errorf("unable to apply Intel RDT configuration: %w", err) -- -2.7.4.3 +2.30.0 diff --git a/patch/0005-runc-add-support-for-rootless-containers.patch b/patch/0005-runc-add-support-for-rootless-containers.patch deleted file mode 100644 index dfffd791349dc5bc7fad6e53c0b9753f3756a4da..0000000000000000000000000000000000000000 --- a/patch/0005-runc-add-support-for-rootless-containers.patch +++ /dev/null @@ -1,1490 +0,0 @@ -From 32d2efc77f61fc7142e72b30e82aca8eeefc7c54 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 23 Apr 2016 23:39:42 +1000 -Subject: [PATCH 05/94] runc: add support for rootless containers - -This enables the support for the rootless container mode. There are many -restrictions on what rootless containers can do, so many different runC -commands have been disabled: - -* runc checkpoint -* runc events -* runc pause -* runc ps -* runc restore -* runc resume -* runc update - -The following commands work: - -* runc create -* runc delete -* runc exec -* runc kill -* runc list -* runc run -* runc spec -* runc state - -In addition, any specification options that imply joining cgroups have -also been disabled. This is due to support for unprivileged subtree -management not being available from Linux upstream. - -Change-Id: I5cfba61e3a3d7491f2b0bc00ccfd51b87684de8a -Signed-off-by: Aleksa Sarai ---- - Makefile | 2 +- - checkpoint.go | 5 + - exec.go | 3 - - libcontainer/configs/config.go | 3 + - libcontainer/configs/validate/rootless.go | 117 +++++++++++++++ - libcontainer/configs/validate/rootless_test.go | 195 +++++++++++++++++++++++++ - libcontainer/configs/validate/validator.go | 5 + - libcontainer/container_linux.go | 49 +++++-- - libcontainer/init_linux.go | 41 +++++- - libcontainer/message_linux.go | 1 + - libcontainer/nsenter/nsexec.c | 26 +++- - libcontainer/process_linux.go | 28 +++- - libcontainer/specconv/example.go | 160 ++++++++++++++++++++ - libcontainer/specconv/spec_linux.go | 31 +++- - libcontainer/specconv/spec_linux_test.go | 80 +++++++++- - list.go | 19 ++- - ps.go | 5 + - restore.go | 6 + - spec.go | 150 +------------------ - utils.go | 3 - - utils_linux.go | 6 + - 21 files changed, 742 insertions(+), 193 deletions(-) - create mode 100644 libcontainer/configs/validate/rootless.go - create mode 100644 libcontainer/configs/validate/rootless_test.go - create mode 100644 libcontainer/specconv/example.go - -diff --git a/Makefile b/Makefile -index b82884a..5fff515 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ - - SOURCES := $(shell find . 2>&1 | grep -E '.*\.(c|h|go)$$') - PREFIX := $(DESTDIR)/usr/local --BINDIR := $(PREFIX)/sbin -+BINDIR := $(PREFIX)/bin - GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) - GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) -diff --git a/checkpoint.go b/checkpoint.go -index dd7704f..78977d7 100644 ---- a/checkpoint.go -+++ b/checkpoint.go -@@ -39,6 +39,11 @@ checkpointed.`, - if err := checkArgs(context, 1, exactArgs); err != nil { - return err - } -+ // XXX: Currently this is untested with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc checkpoint requires root") -+ } -+ - container, err := getContainer(context) - if err != nil { - return err -diff --git a/exec.go b/exec.go -index 84061e6..22f2689 100644 ---- a/exec.go -+++ b/exec.go -@@ -90,9 +90,6 @@ following will output a list of processes running in the container: - if err := checkArgs(context, 1, minArgs); err != nil { - return err - } -- if os.Geteuid() != 0 { -- return fmt.Errorf("runc should be run as root") -- } - if err := revisePidFile(context); err != nil { - return err - } -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 890cd7d..98f4b85 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -183,6 +183,9 @@ type Config struct { - // NoNewKeyring will not allocated a new session keyring for the container. It will use the - // callers keyring in this case. - NoNewKeyring bool `json:"no_new_keyring"` -+ -+ // Rootless specifies whether the container is a rootless container. -+ Rootless bool `json:"rootless"` - } - - type Hooks struct { -diff --git a/libcontainer/configs/validate/rootless.go b/libcontainer/configs/validate/rootless.go -new file mode 100644 -index 0000000..1e83ced ---- /dev/null -+++ b/libcontainer/configs/validate/rootless.go -@@ -0,0 +1,117 @@ -+package validate -+ -+import ( -+ "fmt" -+ "os" -+ "reflect" -+ "strings" -+ -+ "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+var ( -+ geteuid = os.Geteuid -+ getegid = os.Getegid -+) -+ -+func (v *ConfigValidator) rootless(config *configs.Config) error { -+ if err := rootlessMappings(config); err != nil { -+ return err -+ } -+ if err := rootlessMount(config); err != nil { -+ return err -+ } -+ // Currently, cgroups cannot effectively be used in rootless containers. -+ // The new cgroup namespace doesn't really help us either because it doesn't -+ // have nice interactions with the user namespace (we're working with upstream -+ // to fix this). -+ if err := rootlessCgroup(config); err != nil { -+ return err -+ } -+ -+ // XXX: We currently can't verify the user config at all, because -+ // configs.Config doesn't store the user-related configs. So this -+ // has to be verified by setupUser() in init_linux.go. -+ -+ return nil -+} -+ -+func rootlessMappings(config *configs.Config) error { -+ rootuid, err := config.HostUID() -+ if err != nil { -+ return fmt.Errorf("failed to get root uid from uidMappings: %v", err) -+ } -+ if euid := geteuid(); euid != 0 { -+ if !config.Namespaces.Contains(configs.NEWUSER) { -+ return fmt.Errorf("rootless containers require user namespaces") -+ } -+ if rootuid != euid { -+ return fmt.Errorf("rootless containers cannot map container root to a different host user") -+ } -+ } -+ -+ rootgid, err := config.HostGID() -+ if err != nil { -+ return fmt.Errorf("failed to get root gid from gidMappings: %v", err) -+ } -+ -+ // Similar to the above test, we need to make sure that we aren't trying to -+ // map to a group ID that we don't have the right to be. -+ if rootgid != getegid() { -+ return fmt.Errorf("rootless containers cannot map container root to a different host group") -+ } -+ -+ // We can only map one user and group inside a container (our own). -+ if len(config.UidMappings) != 1 || config.UidMappings[0].Size != 1 { -+ return fmt.Errorf("rootless containers cannot map more than one user") -+ } -+ if len(config.GidMappings) != 1 || config.GidMappings[0].Size != 1 { -+ return fmt.Errorf("rootless containers cannot map more than one group") -+ } -+ -+ return nil -+} -+ -+// cgroup verifies that the user isn't trying to set any cgroup limits or paths. -+func rootlessCgroup(config *configs.Config) error { -+ // Nothing set at all. -+ if config.Cgroups == nil || config.Cgroups.Resources == nil { -+ return nil -+ } -+ -+ // Used for comparing to the zero value. -+ left := reflect.ValueOf(*config.Cgroups.Resources) -+ right := reflect.Zero(left.Type()) -+ -+ // This is all we need to do, since specconv won't add cgroup options in -+ // rootless mode. -+ if !reflect.DeepEqual(left.Interface(), right.Interface()) { -+ return fmt.Errorf("cannot specify resource limits in rootless container") -+ } -+ -+ return nil -+} -+ -+// mount verifies that the user isn't trying to set up any mounts they don't have -+// the rights to do. In addition, it makes sure that no mount has a `uid=` or -+// `gid=` option that doesn't resolve to root. -+func rootlessMount(config *configs.Config) error { -+ // XXX: We could whitelist allowed devices at this point, but I'm not -+ // convinced that's a good idea. The kernel is the best arbiter of -+ // access control. -+ -+ for _, mount := range config.Mounts { -+ // Check that the options list doesn't contain any uid= or gid= entries -+ // that don't resolve to root. -+ for _, opt := range strings.Split(mount.Data, ",") { -+ if strings.HasPrefix(opt, "uid=") && opt != "uid=0" { -+ return fmt.Errorf("cannot specify uid= mount options in rootless containers where argument isn't 0") -+ } -+ if strings.HasPrefix(opt, "gid=") && opt != "gid=0" { -+ return fmt.Errorf("cannot specify gid= mount options in rootless containers where argument isn't 0") -+ } -+ } -+ } -+ -+ return nil -+} -diff --git a/libcontainer/configs/validate/rootless_test.go b/libcontainer/configs/validate/rootless_test.go -new file mode 100644 -index 0000000..23d678d ---- /dev/null -+++ b/libcontainer/configs/validate/rootless_test.go -@@ -0,0 +1,195 @@ -+package validate -+ -+import ( -+ "testing" -+ -+ "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+func init() { -+ geteuid = func() int { return 1337 } -+ getegid = func() int { return 7331 } -+} -+ -+func rootlessConfig() *configs.Config { -+ return &configs.Config{ -+ Rootfs: "/var", -+ Rootless: true, -+ Namespaces: configs.Namespaces( -+ []configs.Namespace{ -+ {Type: configs.NEWUSER}, -+ }, -+ ), -+ UidMappings: []configs.IDMap{ -+ { -+ HostID: geteuid(), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ GidMappings: []configs.IDMap{ -+ { -+ HostID: getegid(), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ } -+} -+ -+func TestValidateRootless(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur: %+v", err) -+ } -+} -+ -+/* rootlessMappings() */ -+ -+func TestValidateRootlessUserns(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.Namespaces = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if user namespaces not set") -+ } -+} -+ -+func TestValidateRootlessMappingUid(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.UidMappings = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if no uid mappings provided") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings[0].HostID = geteuid() + 1 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if geteuid() != mapped uid") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings[0].Size = 1024 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one uid mapped") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings = append(config.UidMappings, configs.IDMap{ -+ HostID: geteuid() + 1, -+ ContainerID: 0, -+ Size: 1, -+ }) -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one uid extent mapped") -+ } -+} -+ -+func TestValidateRootlessMappingGid(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.GidMappings = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if no gid mappings provided") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings[0].HostID = getegid() + 1 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if getegid() != mapped gid") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings[0].Size = 1024 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one gid mapped") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings = append(config.GidMappings, configs.IDMap{ -+ HostID: getegid() + 1, -+ ContainerID: 0, -+ Size: 1, -+ }) -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one gid extent mapped") -+ } -+} -+ -+/* rootlessMount() */ -+ -+func TestValidateRootlessMountUid(t *testing.T) { -+ config := rootlessConfig() -+ validator := New() -+ -+ config.Mounts = []*configs.Mount{ -+ { -+ Source: "devpts", -+ Destination: "/dev/pts", -+ Device: "devpts", -+ }, -+ } -+ -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when uid= not set in mount options: %+v", err) -+ } -+ -+ config.Mounts[0].Data = "uid=5" -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur when setting uid=5 in mount options") -+ } -+ -+ config.Mounts[0].Data = "uid=0" -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when setting uid=0 in mount options: %+v", err) -+ } -+} -+ -+func TestValidateRootlessMountGid(t *testing.T) { -+ config := rootlessConfig() -+ validator := New() -+ -+ config.Mounts = []*configs.Mount{ -+ { -+ Source: "devpts", -+ Destination: "/dev/pts", -+ Device: "devpts", -+ }, -+ } -+ -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when gid= not set in mount options: %+v", err) -+ } -+ -+ config.Mounts[0].Data = "gid=5" -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur when setting gid=5 in mount options") -+ } -+ -+ config.Mounts[0].Data = "gid=0" -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when setting gid=0 in mount options: %+v", err) -+ } -+} -+ -+/* rootlessCgroup() */ -+ -+func TestValidateRootlessCgroup(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.Cgroups = &configs.Cgroup{ -+ Resources: &configs.Resources{ -+ PidsLimit: 1337, -+ }, -+ } -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if cgroup limits set") -+ } -+} -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index ecf8335..8284345 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -40,6 +40,11 @@ func (v *ConfigValidator) Validate(config *configs.Config) error { - if err := v.sysctl(config); err != nil { - return err - } -+ if config.Rootless { -+ if err := v.rootless(config); err != nil { -+ return err -+ } -+ } - return nil - } - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index d2e0e2b..372763a 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -51,6 +51,9 @@ type State struct { - - // Platform specific fields below here - -+ // Specifies if the container was started under the rootless mode. -+ Rootless bool `json:"rootless"` -+ - // Path to all the cgroups setup for a container. Key is cgroup subsystem name - // with the value as the path. - CgroupPaths map[string]string `json:"cgroup_paths"` -@@ -452,6 +455,7 @@ func (c *linuxContainer) newInitConfig(process *Process) *initConfig { - PassedFilesCount: len(process.ExtraFiles), - ContainerId: c.ID(), - NoNewPrivileges: c.config.NoNewPrivileges, -+ Rootless: c.config.Rootless, - AppArmorProfile: c.config.AppArmorProfile, - ProcessLabel: c.config.ProcessLabel, - Rlimits: c.config.Rlimits, -@@ -622,6 +626,13 @@ func (c *linuxContainer) Checkpoint(criuOpts *CriuOpts) error { - c.m.Lock() - defer c.m.Unlock() - -+ // TODO(avagin): Figure out how to make this work nicely. CRIU 2.0 has -+ // support for doing unprivileged dumps, but the setup of -+ // rootless containers might make this complicated. -+ if c.config.Rootless { -+ return fmt.Errorf("cannot checkpoint a rootless container") -+ } -+ - if err := c.checkCriuVersion("1.5.2"); err != nil { - return err - } -@@ -791,6 +802,13 @@ func (c *linuxContainer) restoreNetwork(req *criurpc.CriuReq, criuOpts *CriuOpts - func (c *linuxContainer) Restore(process *Process, criuOpts *CriuOpts) error { - c.m.Lock() - defer c.m.Unlock() -+ -+ // TODO(avagin): Figure out how to make this work nicely. CRIU doesn't have -+ // support for unprivileged restore at the moment. -+ if c.config.Rootless { -+ return fmt.Errorf("cannot restore a rootless container") -+ } -+ - if err := c.checkCriuVersion("1.5.2"); err != nil { - return err - } -@@ -918,6 +936,7 @@ func (c *linuxContainer) Restore(process *Process, criuOpts *CriuOpts) error { - } - - func (c *linuxContainer) criuApplyCgroups(pid int, req *criurpc.CriuReq) error { -+ // XXX: Do we need to deal with this case? AFAIK criu still requires root. - if err := c.cgroupManager.Apply(pid); err != nil { - return err - } -@@ -1319,6 +1338,7 @@ func (c *linuxContainer) currentState() (*State, error) { - InitProcessStartTime: startTime, - Created: c.created, - }, -+ Rootless: c.config.Rootless, - CgroupPaths: c.cgroupManager.GetPaths(), - NamespacePaths: make(map[configs.NamespaceType]string), - ExternalDescriptors: externalDescriptors, -@@ -1446,16 +1466,19 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - Type: GidmapAttr, - Value: b, - }) -- // check if we have CAP_SETGID to setgroup properly -- pid, err := capability.NewPid(os.Getpid()) -- if err != nil { -- return nil, err -- } -- if !pid.Get(capability.EFFECTIVE, capability.CAP_SETGID) { -- r.AddData(&Boolmsg{ -- Type: SetgroupAttr, -- Value: true, -- }) -+ // The following only applies if we are root. -+ if !c.config.Rootless { -+ // check if we have CAP_SETGID to setgroup properly -+ pid, err := capability.NewPid(os.Getpid()) -+ if err != nil { -+ return nil, err -+ } -+ if !pid.Get(capability.EFFECTIVE, capability.CAP_SETGID) { -+ r.AddData(&Boolmsg{ -+ Type: SetgroupAttr, -+ Value: true, -+ }) -+ } - } - } - } -@@ -1466,5 +1489,11 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - Value: []byte(fmt.Sprintf("%d", c.config.OomScoreAdj)), - }) - -+ // write rootless -+ r.AddData(&Boolmsg{ -+ Type: RootlessAttr, -+ Value: c.config.Rootless, -+ }) -+ - return bytes.NewReader(r.Serialize()), nil - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 0f5d412..1187835 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -58,6 +58,7 @@ type initConfig struct { - ContainerId string `json:"containerid"` - Rlimits []configs.Rlimit `json:"rlimits"` - CreateConsole bool `json:"create_console"` -+ Rootless bool `json:"rootless"` - } - - type initer interface { -@@ -229,18 +230,21 @@ func syncParentHooks(pipe io.ReadWriter) error { - func setupUser(config *initConfig) error { - // Set up defaults. - defaultExecUser := user.ExecUser{ -- Uid: syscall.Getuid(), -- Gid: syscall.Getgid(), -+ Uid: 0, -+ Gid: 0, - Home: "/", - } -+ - passwdPath, err := user.GetPasswdPath() - if err != nil { - return err - } -+ - groupPath, err := user.GetGroupPath() - if err != nil { - return err - } -+ - execUser, err := user.GetExecUserPath(config.User, &defaultExecUser, passwdPath, groupPath) - if err != nil { - return err -@@ -253,22 +257,49 @@ func setupUser(config *initConfig) error { - return err - } - } -+ -+ if config.Rootless { -+ if execUser.Uid != 0 { -+ return fmt.Errorf("cannot run as a non-root user in a rootless container") -+ } -+ -+ if execUser.Gid != 0 { -+ return fmt.Errorf("cannot run as a non-root group in a rootless container") -+ } -+ -+ // We cannot set any additional groups in a rootless container and thus we -+ // bail if the user asked us to do so. TODO: We currently can't do this -+ // earlier, but if libcontainer.Process.User was typesafe this might work. -+ if len(addGroups) > 0 { -+ return fmt.Errorf("cannot set any additional groups in a rootless container") -+ } -+ } -+ - // before we change to the container's user make sure that the processes STDIO - // is correctly owned by the user that we are switching to. - if err := fixStdioPermissions(execUser); err != nil { - return err - } -- suppGroups := append(execUser.Sgids, addGroups...) -- if err := syscall.Setgroups(suppGroups); err != nil { -- return err -+ -+ // This isn't allowed in an unprivileged user namespace since Linux 3.19. -+ // There's nothing we can do about /etc/group entries, so we silently -+ // ignore setting groups here (since the user didn't explicitly ask us to -+ // set the group). -+ if !config.Rootless { -+ suppGroups := append(execUser.Sgids, addGroups...) -+ if err := syscall.Setgroups(suppGroups); err != nil { -+ return err -+ } - } - - if err := system.Setgid(execUser.Gid); err != nil { - return err - } -+ - if err := system.Setuid(execUser.Uid); err != nil { - return err - } -+ - // if we didn't get HOME already, set it based on the user's HOME - if envHome := os.Getenv("HOME"); envHome == "" { - if err := os.Setenv("HOME", execUser.Home); err != nil { -diff --git a/libcontainer/message_linux.go b/libcontainer/message_linux.go -index 321d664..bc725a2 100644 ---- a/libcontainer/message_linux.go -+++ b/libcontainer/message_linux.go -@@ -18,6 +18,7 @@ const ( - GidmapAttr uint16 = 27284 - SetgroupAttr uint16 = 27285 - OomScoreAdjAttr uint16 = 27286 -+ RootlessAttr uint16 = 27287 - - // When syscall.NLA_HDRLEN is in gccgo, take this out. - syscall_NLA_HDRLEN = (syscall.SizeofNlAttr + syscall.NLA_ALIGNTO - 1) & ^(syscall.NLA_ALIGNTO - 1) -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 9630206..0ad6883 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -72,6 +72,7 @@ struct nlconfig_t { - char *namespaces; - size_t namespaces_len; - uint8_t is_setgroup; -+ uint8_t is_rootless; - char *oom_score_adj; - size_t oom_score_adj_len; - }; -@@ -87,6 +88,7 @@ struct nlconfig_t { - #define GIDMAP_ATTR 27284 - #define SETGROUP_ATTR 27285 - #define OOM_SCORE_ADJ_ATTR 27286 -+#define ROOTLESS_ATTR 27287 - - /* - * Use the raw syscall for versions of glibc which don't include a function for -@@ -175,6 +177,7 @@ static void update_setgroups(int pid, enum policy_t setgroup) - policy = "deny"; - break; - case SETGROUPS_DEFAULT: -+ default: - /* Nothing to do. */ - return; - } -@@ -329,6 +332,9 @@ static void nl_parse(int fd, struct nlconfig_t *config) - case CLONE_FLAGS_ATTR: - config->cloneflags = readint32(current); - break; -+ case ROOTLESS_ATTR: -+ config->is_rootless = readint8(current); -+ break; - case OOM_SCORE_ADJ_ATTR: - config->oom_score_adj = current; - config->oom_score_adj_len = payload_len; -@@ -574,9 +580,21 @@ void nsexec(void) - - exit(ret); - case SYNC_USERMAP_PLS: -- /* Enable setgroups(2) if we've been asked to. */ -+ /* -+ * Enable setgroups(2) if we've been asked to. But we also -+ * have to explicitly disable setgroups(2) if we're -+ * creating a rootless container (this is required since -+ * Linux 3.19). -+ */ -+ if (config.is_rootless && config.is_setgroup) { -+ kill(child, SIGKILL); -+ bail("cannot allow setgroup in an unprivileged user namespace setup"); -+ } -+ - if (config.is_setgroup) - update_setgroups(child, SETGROUPS_ALLOW); -+ if (config.is_rootless) -+ update_setgroups(child, SETGROUPS_DENY); - - /* Set up mappings. */ - update_uidmap(child, config.uidmap, config.uidmap_len); -@@ -818,8 +836,10 @@ void nsexec(void) - if (setgid(0) < 0) - bail("setgid failed"); - -- if (setgroups(0, NULL) < 0) -- bail("setgroups failed"); -+ if (!config.is_rootless && config.is_setgroup) { -+ if (setgroups(0, NULL) < 0) -+ bail("setgroups failed"); -+ } - - s = SYNC_CHILD_READY; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index c60f473..e8b7506 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -80,7 +80,8 @@ func (p *setnsProcess) start() (err error) { - if err = p.execSetns(); err != nil { - return newSystemErrorWithCause(err, "executing setns process") - } -- if len(p.cgroupPaths) > 0 { -+ // We can't join cgroups if we're in a rootless container. -+ if !p.config.Rootless && len(p.cgroupPaths) > 0 { - if err := cgroups.EnterPid(p.cgroupPaths, p.pid()); err != nil { - return newSystemErrorWithCausef(err, "adding pid %d to cgroups", p.pid()) - } -@@ -253,13 +254,15 @@ func (p *initProcess) start() error { - return newSystemErrorWithCausef(err, "getting pipe fds for pid %d", p.pid()) - } - p.setExternalDescriptors(fds) -- // Do this before syncing with child so that no children -- // can escape the cgroup -- if err := p.manager.Apply(p.pid()); err != nil { -- return newSystemErrorWithCause(err, "applying cgroup configuration for process") -+ if !p.container.config.Rootless { -+ // Do this before syncing with child so that no children can escape the -+ // cgroup. We can't do this if we're not running as root. -+ if err := p.manager.Apply(p.pid()); err != nil { -+ return newSystemErrorWithCause(err, "applying cgroup configuration for process") -+ } - } - defer func() { -- if err != nil { -+ if err != nil && !p.container.config.Rootless { - // TODO: should not be the responsibility to call here - p.manager.Destroy() - } -@@ -278,8 +281,11 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ // We can't set cgroups if we're in a rootless container. -+ if !p.container.config.Rootless { -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } - } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace -@@ -424,6 +430,12 @@ func getPipeFds(pid int) ([]string, error) { - f := filepath.Join(dirPath, strconv.Itoa(i)) - target, err := os.Readlink(f) - if err != nil { -+ // Ignore permission errors, for rootless containers and other -+ // non-dumpable processes. if we can't get the fd for a particular -+ // file, there's not much we can do. -+ if os.IsPermission(err) { -+ continue -+ } - return fds, err - } - fds[i] = target -diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/example.go -new file mode 100644 -index 0000000..44fad97 ---- /dev/null -+++ b/libcontainer/specconv/example.go -@@ -0,0 +1,160 @@ -+package specconv -+ -+import ( -+ "runtime" -+ -+ "github.com/opencontainers/runtime-spec/specs-go" -+) -+ -+func sPtr(s string) *string { return &s } -+ -+// ExampleSpec returns an example spec file, with many options set so a user -+// can see what a standard spec file looks like. -+func ExampleSpec() *specs.Spec { -+ return &specs.Spec{ -+ Version: specs.Version, -+ Platform: specs.Platform{ -+ OS: runtime.GOOS, -+ Arch: runtime.GOARCH, -+ }, -+ Root: specs.Root{ -+ Path: "rootfs", -+ Readonly: true, -+ }, -+ Process: specs.Process{ -+ Terminal: true, -+ User: specs.User{}, -+ Args: []string{ -+ "sh", -+ }, -+ Env: []string{ -+ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -+ "TERM=xterm", -+ }, -+ Cwd: "/", -+ NoNewPrivileges: true, -+ Capabilities: &specs.LinuxCapabilities{ -+ Bounding: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Permitted: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Inheritable: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Ambient: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Effective: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ }, -+ Rlimits: []specs.LinuxRlimit{ -+ { -+ Type: "RLIMIT_NOFILE", -+ Hard: uint64(1024), -+ Soft: uint64(1024), -+ }, -+ }, -+ }, -+ Hostname: "runc", -+ Mounts: []specs.Mount{ -+ { -+ Destination: "/proc", -+ Type: "proc", -+ Source: "proc", -+ Options: nil, -+ }, -+ { -+ Destination: "/dev", -+ Type: "tmpfs", -+ Source: "tmpfs", -+ Options: []string{"nosuid", "strictatime", "mode=755", "size=65536k"}, -+ }, -+ { -+ Destination: "/dev/pts", -+ Type: "devpts", -+ Source: "devpts", -+ Options: []string{"nosuid", "noexec", "newinstance", "ptmxmode=0666", "mode=0620", "gid=5"}, -+ }, -+ { -+ Destination: "/dev/shm", -+ Type: "tmpfs", -+ Source: "shm", -+ Options: []string{"nosuid", "noexec", "nodev", "mode=1777", "size=65536k"}, -+ }, -+ { -+ Destination: "/dev/mqueue", -+ Type: "mqueue", -+ Source: "mqueue", -+ Options: []string{"nosuid", "noexec", "nodev"}, -+ }, -+ { -+ Destination: "/sys", -+ Type: "sysfs", -+ Source: "sysfs", -+ Options: []string{"nosuid", "noexec", "nodev", "ro"}, -+ }, -+ { -+ Destination: "/sys/fs/cgroup", -+ Type: "cgroup", -+ Source: "cgroup", -+ Options: []string{"nosuid", "noexec", "nodev", "relatime", "ro"}, -+ }, -+ }, -+ Linux: &specs.Linux{ -+ MaskedPaths: []string{ -+ "/proc/kcore", -+ "/proc/latency_stats", -+ "/proc/timer_list", -+ "/proc/timer_stats", -+ "/proc/sched_debug", -+ "/sys/firmware", -+ }, -+ ReadonlyPaths: []string{ -+ "/proc/asound", -+ "/proc/bus", -+ "/proc/fs", -+ "/proc/irq", -+ "/proc/sys", -+ "/proc/sysrq-trigger", -+ }, -+ Resources: &specs.LinuxResources{ -+ Devices: []specs.LinuxDeviceCgroup{ -+ { -+ Allow: false, -+ Access: "rwm", -+ }, -+ }, -+ }, -+ Namespaces: []specs.LinuxNamespace{ -+ { -+ Type: "pid", -+ }, -+ { -+ Type: "network", -+ }, -+ { -+ Type: "ipc", -+ }, -+ { -+ Type: "uts", -+ }, -+ { -+ Type: "mount", -+ }, -+ }, -+ }, -+ } -+} -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 52b3ca1..346b268 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -145,6 +145,7 @@ type CreateOpts struct { - NoPivotRoot bool - NoNewKeyring bool - Spec *specs.Spec -+ Rootless bool - } - - // CreateLibcontainerConfig creates a new libcontainer configuration from a -@@ -175,6 +176,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - Hostname: spec.Hostname, - Labels: append(labels, fmt.Sprintf("bundle=%s", cwd)), - NoNewKeyring: opts.NoNewKeyring, -+ Rootless: opts.Rootless, - } - - exists := false -@@ -208,7 +210,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - if err := setupUserNamespace(spec, config); err != nil { - return nil, err - } -- c, err := createCgroupConfig(opts.CgroupName, opts.UseSystemdCgroup, spec) -+ c, err := createCgroupConfig(opts) - if err != nil { - return nil, err - } -@@ -264,8 +266,14 @@ func createLibcontainerMount(cwd string, m specs.Mount) *configs.Mount { - } - } - --func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (*configs.Cgroup, error) { -- var myCgroupPath string -+func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { -+ var ( -+ myCgroupPath string -+ -+ spec = opts.Spec -+ useSystemdCgroup = opts.UseSystemdCgroup -+ name = opts.CgroupName -+ ) - - c := &configs.Cgroup{ - Resources: &configs.Resources{}, -@@ -301,9 +309,14 @@ func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (* - c.Path = myCgroupPath - } - -- c.Resources.AllowedDevices = allowedDevices -- if spec.Linux == nil { -- return c, nil -+ // In rootless containers, any attempt to make cgroup changes will fail. -+ // libcontainer will validate this and we shouldn't add any cgroup options -+ // the user didn't specify. -+ if !opts.Rootless { -+ c.Resources.AllowedDevices = allowedDevices -+ if spec.Linux == nil { -+ return c, nil -+ } - } - r := spec.Linux.Resources - if r == nil { -@@ -340,8 +353,10 @@ func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (* - } - c.Resources.Devices = append(c.Resources.Devices, dd) - } -- // append the default allowed devices to the end of the list -- c.Resources.Devices = append(c.Resources.Devices, allowedDevices...) -+ if !opts.Rootless { -+ // append the default allowed devices to the end of the list -+ c.Resources.Devices = append(c.Resources.Devices, allowedDevices...) -+ } - if r.Memory != nil { - if r.Memory.Limit != nil { - c.Resources.Memory = *r.Memory.Limit -diff --git a/libcontainer/specconv/spec_linux_test.go b/libcontainer/specconv/spec_linux_test.go -index baa2638..741fae6 100644 ---- a/libcontainer/specconv/spec_linux_test.go -+++ b/libcontainer/specconv/spec_linux_test.go -@@ -3,8 +3,10 @@ - package specconv - - import ( -+ "os" - "testing" - -+ "github.com/opencontainers/runc/libcontainer/configs/validate" - "github.com/opencontainers/runtime-spec/specs-go" - ) - -@@ -16,7 +18,13 @@ func TestLinuxCgroupsPathSpecified(t *testing.T) { - CgroupsPath: cgroupsPath, - } - -- cgroup, err := createCgroupConfig("ContainerID", false, spec) -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } -+ -+ cgroup, err := createCgroupConfig(opts) - if err != nil { - t.Errorf("Couldn't create Cgroup config: %v", err) - } -@@ -28,8 +36,13 @@ func TestLinuxCgroupsPathSpecified(t *testing.T) { - - func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - spec := &specs.Spec{} -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } - -- cgroup, err := createCgroupConfig("ContainerID", false, spec) -+ cgroup, err := createCgroupConfig(opts) - if err != nil { - t.Errorf("Couldn't create Cgroup config: %v", err) - } -@@ -39,6 +52,26 @@ func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - } - } - -+func TestSpecconvExampleValidate(t *testing.T) { -+ spec := ExampleSpec() -+ spec.Root.Path = "/" -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } -+ -+ config, err := CreateLibcontainerConfig(opts) -+ if err != nil { -+ t.Errorf("Couldn't create libcontainer config: %v", err) -+ } -+ -+ validator := validate.New() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected specconv to produce valid container config: %v", err) -+ } -+} -+ - func TestDupNamespaces(t *testing.T) { - spec := &specs.Spec{ - Linux: &specs.Linux{ -@@ -62,3 +95,46 @@ func TestDupNamespaces(t *testing.T) { - t.Errorf("Duplicated namespaces should be forbidden") - } - } -+ -+func TestRootlessSpecconvValidate(t *testing.T) { -+ spec := &specs.Spec{ -+ Linux: specs.Linux{ -+ Namespaces: []specs.Namespace{ -+ { -+ Type: specs.UserNamespace, -+ }, -+ }, -+ UIDMappings: []specs.IDMapping{ -+ { -+ HostID: uint32(os.Geteuid()), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ GIDMappings: []specs.IDMapping{ -+ { -+ HostID: uint32(os.Getegid()), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ }, -+ } -+ -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ Rootless: true, -+ } -+ -+ config, err := CreateLibcontainerConfig(opts) -+ if err != nil { -+ t.Errorf("Couldn't create libcontainer config: %v", err) -+ } -+ -+ validator := validate.New() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected specconv to produce valid rootless container config: %v", err) -+ } -+} -diff --git a/list.go b/list.go -index c7550a2..1c3b9aa 100644 ---- a/list.go -+++ b/list.go -@@ -7,12 +7,14 @@ import ( - "io/ioutil" - "os" - "path/filepath" -+ "syscall" - "text/tabwriter" - "time" - - "encoding/json" - - "github.com/opencontainers/runc/libcontainer" -+ "github.com/opencontainers/runc/libcontainer/user" - "github.com/opencontainers/runc/libcontainer/utils" - "github.com/urfave/cli" - ) -@@ -38,6 +40,8 @@ type containerState struct { - Created time.Time `json:"created"` - // Annotations is the user defined annotations added to the config. - Annotations map[string]string `json:"annotations,omitempty"` -+ // The owner of the state directory (the owner of the container). -+ Owner string `json:"owner"` - } - - var listCommand = cli.Command{ -@@ -85,14 +89,15 @@ To list containers created using a non-default value for "--root": - switch context.String("format") { - case "table": - w := tabwriter.NewWriter(os.Stdout, 12, 1, 3, ' ', 0) -- fmt.Fprint(w, "ID\tPID\tSTATUS\tBUNDLE\tCREATED\n") -+ fmt.Fprint(w, "ID\tPID\tSTATUS\tBUNDLE\tCREATED\tOWNER\n") - for _, item := range s { -- fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\n", -+ fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\t%s\n", - item.ID, - item.InitProcessPid, - item.Status, - item.Bundle, -- item.Created.Format(time.RFC3339Nano)) -+ item.Created.Format(time.RFC3339Nano), -+ item.Owner) - } - if err := w.Flush(); err != nil { - return err -@@ -126,6 +131,13 @@ func getContainers(context *cli.Context) ([]containerState, error) { - var s []containerState - for _, item := range list { - if item.IsDir() { -+ // This cast is safe on Linux. -+ stat := item.Sys().(*syscall.Stat_t) -+ owner, err := user.LookupUid(int(stat.Uid)) -+ if err != nil { -+ owner.Name = string(stat.Uid) -+ } -+ - container, err := factory.Load(item.Name()) - if err != nil { - fmt.Fprintf(os.Stderr, "load container %s: %v\n", item.Name(), err) -@@ -155,6 +167,7 @@ func getContainers(context *cli.Context) ([]containerState, error) { - Rootfs: state.BaseState.Config.Rootfs, - Created: state.BaseState.Created, - Annotations: annotations, -+ Owner: owner.Name, - }) - } - } -diff --git a/ps.go b/ps.go -index b8a1b11..6e0c737 100644 ---- a/ps.go -+++ b/ps.go -@@ -28,6 +28,11 @@ var psCommand = cli.Command{ - if err := checkArgs(context, 1, minArgs); err != nil { - return err - } -+ // XXX: Currently not supported with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc ps requires root") -+ } -+ - container, err := getContainer(context) - if err != nil { - return err -diff --git a/restore.go b/restore.go -index afc6046..06f635f 100644 ---- a/restore.go -+++ b/restore.go -@@ -3,6 +3,7 @@ - package main - - import ( -+ "fmt" - "os" - "syscall" - -@@ -86,6 +87,11 @@ using the runc checkpoint command.`, - if err := checkArgs(context, 1, exactArgs); err != nil { - return err - } -+ // XXX: Currently this is untested with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc restore requires root") -+ } -+ - imagePath := context.String("image-path") - id := context.Args().First() - if id == "" { -diff --git a/spec.go b/spec.go -index 1b55c6b..d7df312 100644 ---- a/spec.go -+++ b/spec.go -@@ -10,6 +10,7 @@ import ( - "runtime" - - "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/specconv" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" - ) -@@ -68,152 +69,7 @@ container on your host.`, - if err := checkArgs(context, 0, exactArgs); err != nil { - return err - } -- spec := specs.Spec{ -- Version: specs.Version, -- Platform: specs.Platform{ -- OS: runtime.GOOS, -- Arch: runtime.GOARCH, -- }, -- Root: specs.Root{ -- Path: "rootfs", -- Readonly: true, -- }, -- Process: specs.Process{ -- Terminal: true, -- User: specs.User{}, -- Args: []string{ -- "sh", -- }, -- Env: []string{ -- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -- "TERM=xterm", -- }, -- Cwd: "/", -- NoNewPrivileges: true, -- Capabilities: &specs.LinuxCapabilities{ -- Bounding: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Permitted: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Inheritable: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Ambient: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Effective: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- }, -- Rlimits: []specs.LinuxRlimit{ -- { -- Type: "RLIMIT_NOFILE", -- Hard: uint64(1024), -- Soft: uint64(1024), -- }, -- }, -- }, -- Hostname: "runc", -- Mounts: []specs.Mount{ -- { -- Destination: "/proc", -- Type: "proc", -- Source: "proc", -- Options: nil, -- }, -- { -- Destination: "/dev", -- Type: "tmpfs", -- Source: "tmpfs", -- Options: []string{"nosuid", "strictatime", "mode=755", "size=65536k"}, -- }, -- { -- Destination: "/dev/pts", -- Type: "devpts", -- Source: "devpts", -- Options: []string{"nosuid", "noexec", "newinstance", "ptmxmode=0666", "mode=0620", "gid=5"}, -- }, -- { -- Destination: "/dev/shm", -- Type: "tmpfs", -- Source: "shm", -- Options: []string{"nosuid", "noexec", "nodev", "mode=1777", "size=65536k"}, -- }, -- { -- Destination: "/dev/mqueue", -- Type: "mqueue", -- Source: "mqueue", -- Options: []string{"nosuid", "noexec", "nodev"}, -- }, -- { -- Destination: "/sys", -- Type: "sysfs", -- Source: "sysfs", -- Options: []string{"nosuid", "noexec", "nodev", "ro"}, -- }, -- { -- Destination: "/sys/fs/cgroup", -- Type: "cgroup", -- Source: "cgroup", -- Options: []string{"nosuid", "noexec", "nodev", "relatime", "ro"}, -- }, -- }, -- Linux: &specs.Linux{ -- MaskedPaths: []string{ -- "/proc/kcore", -- "/proc/latency_stats", -- "/proc/timer_list", -- "/proc/timer_stats", -- "/proc/sched_debug", -- "/sys/firmware", -- }, -- ReadonlyPaths: []string{ -- "/proc/asound", -- "/proc/bus", -- "/proc/fs", -- "/proc/irq", -- "/proc/sys", -- "/proc/sysrq-trigger", -- }, -- Resources: &specs.LinuxResources{ -- Devices: []specs.LinuxDeviceCgroup{ -- { -- Allow: false, -- Access: "rwm", -- }, -- }, -- }, -- Namespaces: []specs.LinuxNamespace{ -- { -- Type: "pid", -- }, -- { -- Type: "network", -- }, -- { -- Type: "ipc", -- }, -- { -- Type: "uts", -- }, -- { -- Type: "mount", -- }, -- }, -- }, -- } -+ spec := specconv.ExampleSpec() - - checkNoFile := func(name string) error { - _, err := os.Stat(name) -@@ -234,7 +90,7 @@ container on your host.`, - if err := checkNoFile(specConfig); err != nil { - return err - } -- data, err := json.MarshalIndent(&spec, "", "\t") -+ data, err := json.MarshalIndent(spec, "", "\t") - if err != nil { - return err - } -diff --git a/utils.go b/utils.go -index 1286fd6..98f93a4 100644 ---- a/utils.go -+++ b/utils.go -@@ -63,9 +63,6 @@ func setupSpec(context *cli.Context) (*specs.Spec, error) { - if err != nil { - return nil, err - } -- if os.Geteuid() != 0 { -- return nil, fmt.Errorf("runc should be run as root") -- } - return spec, nil - } - -diff --git a/utils_linux.go b/utils_linux.go -index dcf156c..767015e 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -186,6 +186,11 @@ func createPidFile(path string, process *libcontainer.Process) error { - return os.Rename(tmpName, path) - } - -+// XXX: Currently we autodetect rootless mode. -+func isRootless() bool { -+ return os.Geteuid() != 0 -+} -+ - func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcontainer.Container, error) { - config, err := specconv.CreateLibcontainerConfig(&specconv.CreateOpts{ - CgroupName: id, -@@ -193,6 +198,7 @@ func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcont - NoPivotRoot: context.Bool("no-pivot"), - NoNewKeyring: context.Bool("no-new-keyring"), - Spec: spec, -+ Rootless: isRootless(), - }) - if err != nil { - return nil, err --- -2.7.4.3 - diff --git a/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch b/patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch similarity index 34% rename from patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch rename to patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch index 0ed8181efdefb0f5feef46bddaf353ea5189a919..48ba51e365d7feb443c8057ba999d8fc77ded1e9 100644 --- a/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch +++ b/patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch @@ -1,34 +1,20 @@ -From a410e6a2f9adeb46813a5016812ad334c6560b2d Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Thu, 18 Jan 2018 11:47:04 +0800 -Subject: [PATCH 46/94] runc: print cgroup info if cpuset missing - occurs +From d837fdf20465ffee55ff81efb3df8d010ecae765 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 15:47:24 +0800 +Subject: [PATCH] runc: print cgroup info if cpuset missing occurs -[Changelog]: print cgroup info if cpuset missing occurs -[Author]:Shukui Yang - -Change-Id: I3f8af2b57b441f5f2b4d38cb89d6826a7f24e24b -Signed-off-by: dengguangxing --- - libcontainer/cgroups/fs/cpuset.go | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) + runc-1.1.3/libcontainer/cgroups/fs/cpuset.go | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 918b9a3..069c491 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -9,6 +9,7 @@ import ( - "os" - "path/filepath" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - libcontainerUtils "github.com/opencontainers/runc/libcontainer/utils" -@@ -91,6 +92,26 @@ func (s *CpusetGroup) ApplyDir(dir string, cgroup *configs.Cgroup, pid int) erro +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +index 550baa4..341d5dc 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +@@ -172,6 +172,26 @@ func (s *CpusetGroup) ApplyDir(dir string, r *configs.Resources, pid int) error } - func (s *CpusetGroup) getSubsystemSettings(parent string) (cpus []byte, mems []byte, err error) { + func getCpusetSubsystemSettings(parent string) (cpus, mems string, err error) { + defer func() { + if err != nil { + minfo, err1 := ioutil.ReadFile("/proc/self/mountinfo") @@ -49,9 +35,9 @@ index 918b9a3..069c491 100644 + "path: %s, mountinfo: [%s], dirinfo: [%s]", parent, string(minfo), dirInfo) + } + }() - if cpus, err = ioutil.ReadFile(filepath.Join(parent, "cpuset.cpus")); err != nil { + if cpus, err = cgroups.ReadFile(parent, "cpuset.cpus"); err != nil { return } -- -2.7.4.3 +2.30.0 diff --git a/patch/0006-rootless-add-rootless-cgroup-manager.patch b/patch/0006-rootless-add-rootless-cgroup-manager.patch deleted file mode 100644 index 0e7858f79f11a632f7ce8c76ce9395ab358d7fdc..0000000000000000000000000000000000000000 --- a/patch/0006-rootless-add-rootless-cgroup-manager.patch +++ /dev/null @@ -1,421 +0,0 @@ -From 6c69b3f5c8eb23eb47917371b4ae69a76912ec83 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 26 Apr 2016 02:19:39 +1000 -Subject: [PATCH 06/94] rootless: add rootless cgroup manager - -The rootless cgroup manager acts as a noop for all set and apply -operations. It is just used for rootless setups. Currently this is far -too simple (we need to add opportunistic cgroup management), but is good -enough as a first-pass at a noop cgroup manager. - -Change-Id: Iae5668680e5e2896246792fe6f2ac1bb37eab1d5 -Signed-off-by: Aleksa Sarai ---- - libcontainer/cgroups/fs/apply_raw.go | 24 +---- - libcontainer/cgroups/rootless/rootless.go | 128 ++++++++++++++++++++++++++ - libcontainer/cgroups/systemd/apply_systemd.go | 2 +- - libcontainer/cgroups/utils.go | 41 ++++++++- - libcontainer/container_linux.go | 8 ++ - libcontainer/factory_linux.go | 22 +++++ - libcontainer/process_linux.go | 20 ++-- - libcontainer/rootfs_linux.go | 2 +- - 8 files changed, 210 insertions(+), 37 deletions(-) - create mode 100644 libcontainer/cgroups/rootless/rootless.go - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index d316313..22d82ac 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -267,25 +267,8 @@ func getCgroupData(c *configs.Cgroup, pid int) (*cgroupData, error) { - }, nil - } - --func (raw *cgroupData) parentPath(subsystem, mountpoint, root string) (string, error) { -- // Use GetThisCgroupDir instead of GetInitCgroupDir, because the creating -- // process could in container and shared pid namespace with host, and -- // /proc/1/cgroup could point to whole other world of cgroups. -- initPath, err := cgroups.GetThisCgroupDir(subsystem) -- if err != nil { -- return "", err -- } -- // This is needed for nested containers, because in /proc/self/cgroup we -- // see pathes from host, which don't exist in container. -- relDir, err := filepath.Rel(root, initPath) -- if err != nil { -- return "", err -- } -- return filepath.Join(mountpoint, relDir), nil --} -- - func (raw *cgroupData) path(subsystem string) (string, error) { -- mnt, root, err := cgroups.FindCgroupMountpointAndRoot(subsystem) -+ mnt, err := cgroups.FindCgroupMountpoint(subsystem) - // If we didn't mount the subsystem, there is no point we make the path. - if err != nil { - return "", err -@@ -297,7 +280,10 @@ func (raw *cgroupData) path(subsystem string) (string, error) { - return filepath.Join(raw.root, filepath.Base(mnt), raw.innerPath), nil - } - -- parentPath, err := raw.parentPath(subsystem, mnt, root) -+ // Use GetOwnCgroupPath instead of GetInitCgroupPath, because the creating -+ // process could in container and shared pid namespace with host, and -+ // /proc/1/cgroup could point to whole other world of cgroups. -+ parentPath, err := cgroups.GetOwnCgroupPath(subsystem) - if err != nil { - return "", err - } -diff --git a/libcontainer/cgroups/rootless/rootless.go b/libcontainer/cgroups/rootless/rootless.go -new file mode 100644 -index 0000000..b1efbfd ---- /dev/null -+++ b/libcontainer/cgroups/rootless/rootless.go -@@ -0,0 +1,128 @@ -+// +build linux -+ -+package rootless -+ -+import ( -+ "fmt" -+ -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/cgroups/fs" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/configs/validate" -+) -+ -+// TODO: This is copied from libcontainer/cgroups/fs, which duplicates this code -+// needlessly. We should probably export this list. -+ -+var subsystems = []subsystem{ -+ &fs.CpusetGroup{}, -+ &fs.DevicesGroup{}, -+ &fs.MemoryGroup{}, -+ &fs.CpuGroup{}, -+ &fs.CpuacctGroup{}, -+ &fs.PidsGroup{}, -+ &fs.BlkioGroup{}, -+ &fs.HugetlbGroup{}, -+ &fs.NetClsGroup{}, -+ &fs.NetPrioGroup{}, -+ &fs.PerfEventGroup{}, -+ &fs.FreezerGroup{}, -+ &fs.NameGroup{GroupName: "name=systemd"}, -+} -+ -+type subsystem interface { -+ // Name returns the name of the subsystem. -+ Name() string -+ -+ // Returns the stats, as 'stats', corresponding to the cgroup under 'path'. -+ GetStats(path string, stats *cgroups.Stats) error -+} -+ -+// The noop cgroup manager is used for rootless containers, because we currently -+// cannot manage cgroups if we are in a rootless setup. This manager is chosen -+// by factory if we are in rootless mode. We error out if any cgroup options are -+// set in the config -- this may change in the future with upcoming kernel features -+// like the cgroup namespace. -+ -+type Manager struct { -+ Cgroups *configs.Cgroup -+ Paths map[string]string -+} -+ -+func (m *Manager) Apply(pid int) error { -+ // If there are no cgroup settings, there's nothing to do. -+ if m.Cgroups == nil { -+ return nil -+ } -+ -+ // We can't set paths. -+ // TODO(cyphar): Implement the case where the runner of a rootless container -+ // owns their own cgroup, which would allow us to set up a -+ // cgroup for each path. -+ if m.Cgroups.Paths != nil { -+ return fmt.Errorf("cannot change cgroup path in rootless container") -+ } -+ -+ // We load the paths into the manager. -+ paths := make(map[string]string) -+ for _, sys := range subsystems { -+ name := sys.Name() -+ -+ path, err := cgroups.GetOwnCgroupPath(name) -+ if err != nil { -+ // Ignore paths we couldn't resolve. -+ continue -+ } -+ -+ paths[name] = path -+ } -+ -+ m.Paths = paths -+ return nil -+} -+ -+func (m *Manager) GetPaths() map[string]string { -+ return m.Paths -+} -+ -+func (m *Manager) Set(container *configs.Config) error { -+ // We have to re-do the validation here, since someone might decide to -+ // update a rootless container. -+ return validate.New().Validate(container) -+} -+ -+func (m *Manager) GetPids() ([]int, error) { -+ dir, err := cgroups.GetOwnCgroupPath("devices") -+ if err != nil { -+ return nil, err -+ } -+ return cgroups.GetPids(dir) -+} -+ -+func (m *Manager) GetAllPids() ([]int, error) { -+ dir, err := cgroups.GetOwnCgroupPath("devices") -+ if err != nil { -+ return nil, err -+ } -+ return cgroups.GetAllPids(dir) -+} -+ -+func (m *Manager) GetStats() (*cgroups.Stats, error) { -+ // TODO(cyphar): We can make this work if we figure out a way to allow usage -+ // of cgroups with a rootless container. While this doesn't -+ // actually require write access to a cgroup directory, the -+ // statistics are not useful if they can be affected by -+ // non-container processes. -+ return nil, fmt.Errorf("cannot get cgroup stats in rootless container") -+} -+ -+func (m *Manager) Freeze(state configs.FreezerState) error { -+ // TODO(cyphar): We can make this work if we figure out a way to allow usage -+ // of cgroups with a rootless container. -+ return fmt.Errorf("cannot use freezer cgroup in rootless container") -+} -+ -+func (m *Manager) Destroy() error { -+ // We don't have to do anything here because we didn't do any setup. -+ return nil -+} -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 2872bfa..456c57d 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -426,7 +426,7 @@ func getSubsystemPath(c *configs.Cgroup, subsystem string) (string, error) { - return "", err - } - -- initPath, err := cgroups.GetInitCgroupDir(subsystem) -+ initPath, err := cgroups.GetInitCgroup(subsystem) - if err != nil { - return "", err - } -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index 52fc87e..5db3734 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -109,7 +109,7 @@ type Mount struct { - Subsystems []string - } - --func (m Mount) GetThisCgroupDir(cgroups map[string]string) (string, error) { -+func (m Mount) GetOwnCgroup(cgroups map[string]string) (string, error) { - if len(m.Subsystems) == 0 { - return "", fmt.Errorf("no subsystem for mount") - } -@@ -203,8 +203,8 @@ func GetAllSubsystems() ([]string, error) { - return subsystems, nil - } - --// GetThisCgroupDir returns the relative path to the cgroup docker is running in. --func GetThisCgroupDir(subsystem string) (string, error) { -+// GetOwnCgroup returns the relative path to the cgroup docker is running in. -+func GetOwnCgroup(subsystem string) (string, error) { - cgroups, err := ParseCgroupFile("/proc/self/cgroup") - if err != nil { - return "", err -@@ -213,8 +213,16 @@ func GetThisCgroupDir(subsystem string) (string, error) { - return getControllerPath(subsystem, cgroups) - } - --func GetInitCgroupDir(subsystem string) (string, error) { -+func GetOwnCgroupPath(subsystem string) (string, error) { -+ cgroup, err := GetOwnCgroup(subsystem) -+ if err != nil { -+ return "", err -+ } - -+ return getCgroupPathHelper(subsystem, cgroup) -+} -+ -+func GetInitCgroup(subsystem string) (string, error) { - cgroups, err := ParseCgroupFile("/proc/1/cgroup") - if err != nil { - return "", err -@@ -223,6 +231,31 @@ func GetInitCgroupDir(subsystem string) (string, error) { - return getControllerPath(subsystem, cgroups) - } - -+func GetInitCgroupPath(subsystem string) (string, error) { -+ cgroup, err := GetInitCgroup(subsystem) -+ if err != nil { -+ return "", err -+ } -+ -+ return getCgroupPathHelper(subsystem, cgroup) -+} -+ -+func getCgroupPathHelper(subsystem, cgroup string) (string, error) { -+ mnt, root, err := FindCgroupMountpointAndRoot(subsystem) -+ if err != nil { -+ return "", err -+ } -+ -+ // This is needed for nested containers, because in /proc/self/cgroup we -+ // see pathes from host, which don't exist in container. -+ relCgroup, err := filepath.Rel(root, cgroup) -+ if err != nil { -+ return "", err -+ } -+ -+ return filepath.Join(mnt, relCgroup), nil -+} -+ - func readProcsFile(dir string) ([]int, error) { - f, err := os.Open(filepath.Join(dir, CgroupProcesses)) - if err != nil { -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 372763a..d847f18 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -520,10 +520,18 @@ func (c *linuxContainer) Resume() error { - } - - func (c *linuxContainer) NotifyOOM() (<-chan struct{}, error) { -+ // XXX(cyphar): This requires cgroups. -+ if c.config.Rootless { -+ return nil, fmt.Errorf("cannot get OOM notifications from rootless container") -+ } - return notifyOnOOM(c.cgroupManager.GetPaths()) - } - - func (c *linuxContainer) NotifyMemoryPressure(level PressureLevel) (<-chan struct{}, error) { -+ // XXX(cyphar): This requires cgroups. -+ if c.config.Rootless { -+ return nil, fmt.Errorf("cannot get memory pressure notifications from rootless container") -+ } - return notifyMemoryPressure(c.cgroupManager.GetPaths(), level) - } - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index d553287..1f965e6 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -15,6 +15,7 @@ import ( - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/cgroups/fs" -+ "github.com/opencontainers/runc/libcontainer/cgroups/rootless" - "github.com/opencontainers/runc/libcontainer/cgroups/systemd" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/configs/validate" -@@ -73,6 +74,20 @@ func Cgroupfs(l *LinuxFactory) error { - return nil - } - -+// RootlessCgroups is an options func to configure a LinuxFactory to -+// return containers that use the "rootless" cgroup manager, which will -+// fail to do any operations not possible to do with an unprivileged user. -+// It should only be used in conjunction with rootless containers. -+func RootlessCgroups(l *LinuxFactory) error { -+ l.NewCgroupsManager = func(config *configs.Cgroup, paths map[string]string) cgroups.Manager { -+ return &rootless.Manager{ -+ Cgroups: config, -+ Paths: paths, -+ } -+ } -+ return nil -+} -+ - // TmpfsRoot is an option func to mount LinuxFactory.Root to tmpfs. - func TmpfsRoot(l *LinuxFactory) error { - mounted, err := mount.Mounted(l.Root) -@@ -169,6 +184,9 @@ func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, err - if err := os.Chown(containerRoot, uid, gid); err != nil { - return nil, newGenericError(err, SystemError) - } -+ if config.Rootless { -+ RootlessCgroups(l) -+ } - c := &linuxContainer{ - id: id, - root: containerRoot, -@@ -195,6 +213,10 @@ func (l *LinuxFactory) Load(id string) (Container, error) { - processStartTime: state.InitProcessStartTime, - fds: state.ExternalDescriptors, - } -+ // We have to use the RootlessManager. -+ if state.Rootless { -+ RootlessCgroups(l) -+ } - c := &linuxContainer{ - initProcess: r, - initProcessStartTime: state.InitProcessStartTime, -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index e8b7506..bfe9955 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -254,15 +254,14 @@ func (p *initProcess) start() error { - return newSystemErrorWithCausef(err, "getting pipe fds for pid %d", p.pid()) - } - p.setExternalDescriptors(fds) -- if !p.container.config.Rootless { -- // Do this before syncing with child so that no children can escape the -- // cgroup. We can't do this if we're not running as root. -- if err := p.manager.Apply(p.pid()); err != nil { -- return newSystemErrorWithCause(err, "applying cgroup configuration for process") -- } -+ // Do this before syncing with child so that no children can escape the -+ // cgroup. We don't need to worry about not doing this and not being root -+ // because we'd be using the rootless cgroup manager in that case. -+ if err := p.manager.Apply(p.pid()); err != nil { -+ return newSystemErrorWithCause(err, "applying cgroup configuration for process") - } - defer func() { -- if err != nil && !p.container.config.Rootless { -+ if err != nil { - // TODO: should not be the responsibility to call here - p.manager.Destroy() - } -@@ -281,11 +280,8 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- // We can't set cgroups if we're in a rootless container. -- if !p.container.config.Rootless { -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -- } -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") - } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 1045a45..d507373 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -348,7 +348,7 @@ func getCgroupMounts(m *configs.Mount) ([]*configs.Mount, error) { - var binds []*configs.Mount - - for _, mm := range mounts { -- dir, err := mm.GetThisCgroupDir(cgroupPaths) -+ dir, err := mm.GetOwnCgroup(cgroupPaths) - if err != nil { - return nil, err - } --- -2.7.4.3 - diff --git a/patch/0006-runc-add-more-specific-log-for-hooks.patch b/patch/0006-runc-add-more-specific-log-for-hooks.patch new file mode 100644 index 0000000000000000000000000000000000000000..d5774781adf87ef089efa864a1b354cc048a172a --- /dev/null +++ b/patch/0006-runc-add-more-specific-log-for-hooks.patch @@ -0,0 +1,28 @@ +From 2d6cea3500b37c854ead44cf557864968903ad21 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 16:06:55 +0800 +Subject: [PATCH] runc: add more specific log for hooks + +--- + runc-1.1.3/libcontainer/configs/config.go | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/runc-1.1.3/libcontainer/configs/config.go b/runc-1.1.3/libcontainer/configs/config.go +index c1b4a00..72910ff 100644 +--- a/runc-1.1.3/libcontainer/configs/config.go ++++ b/runc-1.1.3/libcontainer/configs/config.go +@@ -279,9 +279,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { ++ logrus.Infof("run hooks %d:%T", i, h) + if err := h.Run(state); err != nil { + return fmt.Errorf("error running hook #%d: %w", i, err) + } ++ logrus.Infof("hooks %d:%T done", i, h) + } + + return nil +-- +2.30.0 + diff --git a/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch b/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch deleted file mode 100644 index be6f687d5d8304f4939bc45503853c9c2f8dde4a..0000000000000000000000000000000000000000 --- a/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch +++ /dev/null @@ -1,256 +0,0 @@ -From f139024bb220e087a20e8089b5dbd4fb4c06c4a8 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 18 Mar 2017 04:32:16 +1100 -Subject: [PATCH 07/94] libcontainer: configs: add proper HostUID and - HostGID - -Previously Host{U,G}ID only gave you the root mapping, which isn't very -useful if you are trying to do other things with the IDMaps. - -Change-Id: Idceb42455e258e5514c966fe8363693adb9d0028 -Signed-off-by: Aleksa Sarai ---- - libcontainer/configs/config_unix.go | 40 ++++++++++++++++++++----------- - libcontainer/configs/config_unix_test.go | 16 ++++++------- - libcontainer/configs/validate/rootless.go | 4 ++-- - libcontainer/container_linux.go | 4 ++-- - libcontainer/factory_linux.go | 4 ++-- - libcontainer/specconv/spec_linux.go | 4 ++-- - utils_linux.go | 4 ++-- - 7 files changed, 44 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/configs/config_unix.go b/libcontainer/configs/config_unix.go -index a60554a..8446399 100644 ---- a/libcontainer/configs/config_unix.go -+++ b/libcontainer/configs/config_unix.go -@@ -4,38 +4,50 @@ package configs - - import "fmt" - --// HostUID gets the root uid for the process on host which could be non-zero --// when user namespaces are enabled. --func (c Config) HostUID() (int, error) { -+// HostUID gets the translated uid for the process on host which could be -+// different when user namespaces are enabled. -+func (c Config) HostUID(containerId int) (int, error) { - if c.Namespaces.Contains(NEWUSER) { - if c.UidMappings == nil { -- return -1, fmt.Errorf("User namespaces enabled, but no user mappings found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no uid mappings found.") - } -- id, found := c.hostIDFromMapping(0, c.UidMappings) -+ id, found := c.hostIDFromMapping(containerId, c.UidMappings) - if !found { -- return -1, fmt.Errorf("User namespaces enabled, but no root user mapping found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no user mapping found.") - } - return id, nil - } -- // Return default root uid 0 -- return 0, nil -+ // Return unchanged id. -+ return containerId, nil - } - --// HostGID gets the root gid for the process on host which could be non-zero -+// HostRootUID gets the root uid for the process on host which could be non-zero - // when user namespaces are enabled. --func (c Config) HostGID() (int, error) { -+func (c Config) HostRootUID() (int, error) { -+ return c.HostUID(0) -+} -+ -+// HostGID gets the translated gid for the process on host which could be -+// different when user namespaces are enabled. -+func (c Config) HostGID(containerId int) (int, error) { - if c.Namespaces.Contains(NEWUSER) { - if c.GidMappings == nil { - return -1, fmt.Errorf("User namespaces enabled, but no gid mappings found.") - } -- id, found := c.hostIDFromMapping(0, c.GidMappings) -+ id, found := c.hostIDFromMapping(containerId, c.GidMappings) - if !found { -- return -1, fmt.Errorf("User namespaces enabled, but no root group mapping found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no group mapping found.") - } - return id, nil - } -- // Return default root gid 0 -- return 0, nil -+ // Return unchanged id. -+ return containerId, nil -+} -+ -+// HostRootGID gets the root gid for the process on host which could be non-zero -+// when user namespaces are enabled. -+func (c Config) HostRootGID() (int, error) { -+ return c.HostGID(0) - } - - // Utility function that gets a host ID for a container ID from user namespace map -diff --git a/libcontainer/configs/config_unix_test.go b/libcontainer/configs/config_unix_test.go -index dc01cd0..7f96615 100644 ---- a/libcontainer/configs/config_unix_test.go -+++ b/libcontainer/configs/config_unix_test.go -@@ -65,11 +65,11 @@ func TestRemoveNamespace(t *testing.T) { - } - } - --func TestHostUIDNoUSERNS(t *testing.T) { -+func TestHostRootUIDNoUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{}, - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - t.Fatal(err) - } -@@ -78,7 +78,7 @@ func TestHostUIDNoUSERNS(t *testing.T) { - } - } - --func TestHostUIDWithUSERNS(t *testing.T) { -+func TestHostRootUIDWithUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{{Type: NEWUSER}}, - UidMappings: []IDMap{ -@@ -89,7 +89,7 @@ func TestHostUIDWithUSERNS(t *testing.T) { - }, - }, - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - t.Fatal(err) - } -@@ -98,11 +98,11 @@ func TestHostUIDWithUSERNS(t *testing.T) { - } - } - --func TestHostGIDNoUSERNS(t *testing.T) { -+func TestHostRootGIDNoUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{}, - } -- uid, err := config.HostGID() -+ uid, err := config.HostRootGID() - if err != nil { - t.Fatal(err) - } -@@ -111,7 +111,7 @@ func TestHostGIDNoUSERNS(t *testing.T) { - } - } - --func TestHostGIDWithUSERNS(t *testing.T) { -+func TestHostRootGIDWithUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{{Type: NEWUSER}}, - GidMappings: []IDMap{ -@@ -122,7 +122,7 @@ func TestHostGIDWithUSERNS(t *testing.T) { - }, - }, - } -- uid, err := config.HostGID() -+ uid, err := config.HostRootGID() - if err != nil { - t.Fatal(err) - } -diff --git a/libcontainer/configs/validate/rootless.go b/libcontainer/configs/validate/rootless.go -index 1e83ced..0cebfaf 100644 ---- a/libcontainer/configs/validate/rootless.go -+++ b/libcontainer/configs/validate/rootless.go -@@ -37,7 +37,7 @@ func (v *ConfigValidator) rootless(config *configs.Config) error { - } - - func rootlessMappings(config *configs.Config) error { -- rootuid, err := config.HostUID() -+ rootuid, err := config.HostRootUID() - if err != nil { - return fmt.Errorf("failed to get root uid from uidMappings: %v", err) - } -@@ -50,7 +50,7 @@ func rootlessMappings(config *configs.Config) error { - } - } - -- rootgid, err := config.HostGID() -+ rootgid, err := config.HostRootGID() - if err != nil { - return fmt.Errorf("failed to get root gid from gidMappings: %v", err) - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index d847f18..71fa682 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -307,11 +307,11 @@ func (c *linuxContainer) Signal(s os.Signal, all bool) error { - } - - func (c *linuxContainer) createExecFifo() error { -- rootuid, err := c.Config().HostUID() -+ rootuid, err := c.Config().HostRootUID() - if err != nil { - return err - } -- rootgid, err := c.Config().HostGID() -+ rootgid, err := c.Config().HostRootGID() - if err != nil { - return err - } -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 1f965e6..6a0f855 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -164,11 +164,11 @@ func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, err - if err := l.Validator.Validate(config); err != nil { - return nil, newGenericError(err, ConfigInvalid) - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - return nil, newGenericError(err, SystemError) - } -- gid, err := config.HostGID() -+ gid, err := config.HostRootGID() - if err != nil { - return nil, newGenericError(err, SystemError) - } -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 346b268..1575ae0 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -610,11 +610,11 @@ func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { - for _, m := range spec.Linux.GIDMappings { - config.GidMappings = append(config.GidMappings, create(m)) - } -- rootUID, err := config.HostUID() -+ rootUID, err := config.HostRootUID() - if err != nil { - return err - } -- rootGID, err := config.HostGID() -+ rootGID, err := config.HostRootGID() - if err != nil { - return err - } -diff --git a/utils_linux.go b/utils_linux.go -index 767015e..c6a8c02 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -242,12 +242,12 @@ func (r *runner) run(config *specs.Process) (int, error) { - for i := baseFd; i < baseFd+r.preserveFDs; i++ { - process.ExtraFiles = append(process.ExtraFiles, os.NewFile(uintptr(i), "PreserveFD:"+strconv.Itoa(i))) - } -- rootuid, err := r.container.Config().HostUID() -+ rootuid, err := r.container.Config().HostRootUID() - if err != nil { - r.destroy() - return -1, err - } -- rootgid, err := r.container.Config().HostGID() -+ rootgid, err := r.container.Config().HostRootGID() - if err != nil { - r.destroy() - return -1, err --- -2.7.4.3 - diff --git a/patch/0052-runc-reduce-max-number-of-retries-to-10.patch b/patch/0007-runc-reduce-max-number-of-retries-to-10.patch similarity index 44% rename from patch/0052-runc-reduce-max-number-of-retries-to-10.patch rename to patch/0007-runc-reduce-max-number-of-retries-to-10.patch index b4d3b6917cbd22186a1ead80246b079971a20ad3..813fcb0714aa3f4e0b8ca8d619654790c3621f2c 100644 --- a/patch/0052-runc-reduce-max-number-of-retries-to-10.patch +++ b/patch/0007-runc-reduce-max-number-of-retries-to-10.patch @@ -1,32 +1,30 @@ -From c8b74f1b809d8fbf1ba2dc74c069e03d9e95be71 Mon Sep 17 00:00:00 2001 -From: liruilin4 -Date: Mon, 9 Jul 2018 12:02:33 +0800 -Subject: [PATCH 52/94] runc: reduce max number of retries to 10 +From dfbe86042987a6f5c14c589668183f37d2ecac91 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 16:21:01 +0800 +Subject: [PATCH] runc: reduce max number of retries to 10 [Changelog]:when killing containers in D state, now runc will do 100 retries, which leads that containerd blocks for 10 seconds. [Author]:Ruilin Li - -Change-Id: I1e08ef23ad065f5e3b88506726530187d2ccc797 --- - delete.go | 4 ++-- + runc-1.1.3/delete.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/delete.go b/delete.go -index b43dcaa..a2b14f3 100644 ---- a/delete.go -+++ b/delete.go +diff --git a/runc-1.1.3/delete.go b/runc-1.1.3/delete.go +index 746b0df..799c2a7 100644 +--- a/runc-1.1.3/delete.go ++++ b/runc-1.1.3/delete.go @@ -14,8 +14,8 @@ import ( ) func killContainer(container libcontainer.Container) error { -- _ = container.Signal(syscall.SIGKILL, false) +- _ = container.Signal(unix.SIGKILL, false) - for i := 0; i < 100; i++ { -+ container.Signal(syscall.SIGKILL, false) ++ container.Signal(unix.SIGKILL, false) + for i := 0; i < 10; i++ { time.Sleep(100 * time.Millisecond) - if err := container.Signal(syscall.Signal(0), false); err != nil { + if err := container.Signal(unix.Signal(0), false); err != nil { destroy(container) -- -2.7.4.3 +2.30.0 diff --git a/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch b/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch deleted file mode 100644 index 8d776691ba8f0bafe2ae1547f9e600842b8a1ea5..0000000000000000000000000000000000000000 --- a/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch +++ /dev/null @@ -1,64 +0,0 @@ -From f4158e00cac1f576f61904a73530c373c15354e2 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 18 Mar 2017 04:33:14 +1100 -Subject: [PATCH 08/94] libcontainer: init: fix unmapped console - fchown - -If the stdio of the container is owned by a group which is not mapped in -the user namespace, attempting to fchown the file descriptor will result -in EINVAL. Counteract this by simply not doing an fchown if the group -owner of the file descriptor has no host mapping according to the -configured GIDMappings. - -Change-Id: I7a7911f398a38b2d21e1bb6bc4b3131f6504ca8d -Signed-off-by: Aleksa Sarai ---- - libcontainer/init_linux.go | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 1187835..99cc02c 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -277,7 +277,7 @@ func setupUser(config *initConfig) error { - - // before we change to the container's user make sure that the processes STDIO - // is correctly owned by the user that we are switching to. -- if err := fixStdioPermissions(execUser); err != nil { -+ if err := fixStdioPermissions(config, execUser); err != nil { - return err - } - -@@ -312,7 +312,7 @@ func setupUser(config *initConfig) error { - // fixStdioPermissions fixes the permissions of PID 1's STDIO within the container to the specified user. - // The ownership needs to match because it is created outside of the container and needs to be - // localized. --func fixStdioPermissions(u *user.ExecUser) error { -+func fixStdioPermissions(config *initConfig, u *user.ExecUser) error { - var null syscall.Stat_t - if err := syscall.Stat("/dev/null", &null); err != nil { - return err -@@ -326,10 +326,20 @@ func fixStdioPermissions(u *user.ExecUser) error { - if err := syscall.Fstat(int(fd), &s); err != nil { - return err - } -+ - // Skip chown of /dev/null if it was used as one of the STDIO fds. - if s.Rdev == null.Rdev { - continue - } -+ -+ // Skip chown if s.Gid is actually an unmapped gid in the host. While -+ // this is a bit dodgy if it just so happens that the console _is_ -+ // owned by overflow_gid, there's no way for us to disambiguate this as -+ // a userspace program. -+ if _, err := config.Config.HostGID(int(s.Gid)); err != nil { -+ continue -+ } -+ - // We only change the uid owner (as it is possible for the mount to - // prefer a different gid, and there's no reason for us to change it). - // The reason why we don't just leave the default uid=X mount setup is --- -2.7.4.3 - diff --git a/patch/0053-runc-print-error-message-during-start-into-co.patch b/patch/0008-runc-print-error-message-during-start-into-container.patch similarity index 40% rename from patch/0053-runc-print-error-message-during-start-into-co.patch rename to patch/0008-runc-print-error-message-during-start-into-container.patch index 83ec2de7ae4699e9cda555a5070f38439021d3a6..880f22fe8a2f0691c239772a858e097e1e236ce3 100644 --- a/patch/0053-runc-print-error-message-during-start-into-co.patch +++ b/patch/0008-runc-print-error-message-during-start-into-container.patch @@ -1,30 +1,26 @@ -From 165870fb442ca29a208a3d17f8ece6b8e74da2de Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Wed, 22 Aug 2018 17:04:19 +0800 -Subject: [PATCH 53/94] runc: print error message during start into - container log +From 199c22b2e5188acee4b38a373ab3e4cf978c7f94 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 16:26:48 +0800 +Subject: [PATCH] runc: print error message during start into container log -[Changelog]:cherry-pick from vtwrse <75eba7a697edde39e25e39c870a33f3dc5fb327a> -Change-Id: Id23f14690d77a4f79611e82f4e2ece41d9b19edf -Signed-off-by: jiangpengfei9 --- - main_unix.go | 2 ++ + runc-1.1.3/init.go | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/main_unix.go b/main_unix.go -index b601abc..56904e0 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -3,6 +3,7 @@ +diff --git a/runc-1.1.3/init.go b/runc-1.1.3/init.go +index bddc237..a0520b5 100644 +--- a/runc-1.1.3/init.go ++++ b/runc-1.1.3/init.go +@@ -1,6 +1,7 @@ package main import ( + "fmt" "os" "runtime" + "strconv" +@@ -34,6 +35,7 @@ func init() { -@@ -24,6 +25,7 @@ var initCommand = cli.Command{ - Action: func(context *cli.Context) error { factory, _ := libcontainer.New("") if err := factory.StartInitialization(); err != nil { + fmt.Fprintf(os.Stderr, "libcontainer: container start initialization failed: %s", err) @@ -32,5 +28,5 @@ index b601abc..56904e0 100644 // or write it to stderr because the parent process will handle this os.Exit(1) -- -2.7.4.3 +2.30.0 diff --git a/patch/0009-rootless-add-autogenerated-rootless-config-.patch b/patch/0009-rootless-add-autogenerated-rootless-config-.patch deleted file mode 100644 index 9cbad02d59a5d6d0f9e534464510d8ff6ea6c74c..0000000000000000000000000000000000000000 --- a/patch/0009-rootless-add-autogenerated-rootless-config-.patch +++ /dev/null @@ -1,203 +0,0 @@ -From bdc84a618b475cc21a39dfa2fe57eae68b6110b6 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Mon, 9 May 2016 21:26:11 +1000 -Subject: [PATCH 09/94] rootless: add autogenerated rootless config - from `runc spec` - -Since this is a runC-specific feature, this belongs here over in -opencontainers/ocitools (which is for generic OCI runtimes). - -In addition, we don't create a new network namespace. This is because -currently if you want to set up a veth bridge you need CAP_NET_ADMIN in -both network namespaces' pinned user namespace to create the necessary -interfaces in each network namespace. - -Change-Id: I682b9c82f75c04b58d523ddb084b6adbb543e3d1 -Signed-off-by: Aleksa Sarai ---- - libcontainer/specconv/example.go | 73 ++++++++++++++++++++++++++++++-- - libcontainer/specconv/spec_linux_test.go | 30 +++---------- - spec.go | 11 ++++- - 3 files changed, 85 insertions(+), 29 deletions(-) - -diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/example.go -index 44fad97..9a4460c 100644 ---- a/libcontainer/specconv/example.go -+++ b/libcontainer/specconv/example.go -@@ -1,16 +1,18 @@ - package specconv - - import ( -+ "os" - "runtime" -+ "strings" - - "github.com/opencontainers/runtime-spec/specs-go" - ) - - func sPtr(s string) *string { return &s } - --// ExampleSpec returns an example spec file, with many options set so a user --// can see what a standard spec file looks like. --func ExampleSpec() *specs.Spec { -+// Example returns an example spec file, with many options set so a user can -+// see what a standard spec file looks like. -+func Example() *specs.Spec { - return &specs.Spec{ - Version: specs.Version, - Platform: specs.Platform{ -@@ -158,3 +160,68 @@ func ExampleSpec() *specs.Spec { - }, - } - } -+ -+// ExampleRootless returns an example spec file that works with rootless -+// containers. It's essentially a modified version of the specfile from -+// Example(). -+func ToRootless(spec *specs.Spec) { -+ var namespaces []specs.LinuxNamespace -+ -+ // Remove networkns from the spec. -+ for _, ns := range spec.Linux.Namespaces { -+ switch ns.Type { -+ case specs.NetworkNamespace, specs.UserNamespace: -+ // Do nothing. -+ default: -+ namespaces = append(namespaces, ns) -+ } -+ } -+ // Add userns to the spec. -+ namespaces = append(namespaces, specs.LinuxNamespace{ -+ Type: specs.UserNamespace, -+ }) -+ spec.Linux.Namespaces = namespaces -+ -+ // Add mappings for the current user. -+ spec.Linux.UIDMappings = []specs.LinuxIDMapping{{ -+ HostID: uint32(os.Geteuid()), -+ ContainerID: 0, -+ Size: 1, -+ }} -+ spec.Linux.GIDMappings = []specs.LinuxIDMapping{{ -+ HostID: uint32(os.Getegid()), -+ ContainerID: 0, -+ Size: 1, -+ }} -+ -+ // Fix up mounts. -+ var mounts []specs.Mount -+ for _, mount := range spec.Mounts { -+ // Ignore all mounts that are under /sys. -+ if strings.HasPrefix(mount.Destination, "/sys") { -+ continue -+ } -+ -+ // Remove all gid= and uid= mappings. -+ var options []string -+ for _, option := range mount.Options { -+ if !strings.HasPrefix(option, "gid=") && !strings.HasPrefix(option, "uid=") { -+ options = append(options, option) -+ } -+ } -+ -+ mount.Options = options -+ mounts = append(mounts, mount) -+ } -+ // Add the sysfs mount as an rbind. -+ mounts = append(mounts, specs.Mount{ -+ Source: "/sys", -+ Destination: "/sys", -+ Type: "none", -+ Options: []string{"rbind", "nosuid", "noexec", "nodev", "ro"}, -+ }) -+ spec.Mounts = mounts -+ -+ // Remove cgroup settings. -+ spec.Linux.Resources = nil -+} -diff --git a/libcontainer/specconv/spec_linux_test.go b/libcontainer/specconv/spec_linux_test.go -index 741fae6..f7292f3 100644 ---- a/libcontainer/specconv/spec_linux_test.go -+++ b/libcontainer/specconv/spec_linux_test.go -@@ -3,7 +3,6 @@ - package specconv - - import ( -- "os" - "testing" - - "github.com/opencontainers/runc/libcontainer/configs/validate" -@@ -53,8 +52,9 @@ func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - } - - func TestSpecconvExampleValidate(t *testing.T) { -- spec := ExampleSpec() -+ spec := Example() - spec.Root.Path = "/" -+ - opts := &CreateOpts{ - CgroupName: "ContainerID", - UseSystemdCgroup: false, -@@ -97,29 +97,9 @@ func TestDupNamespaces(t *testing.T) { - } - - func TestRootlessSpecconvValidate(t *testing.T) { -- spec := &specs.Spec{ -- Linux: specs.Linux{ -- Namespaces: []specs.Namespace{ -- { -- Type: specs.UserNamespace, -- }, -- }, -- UIDMappings: []specs.IDMapping{ -- { -- HostID: uint32(os.Geteuid()), -- ContainerID: 0, -- Size: 1, -- }, -- }, -- GIDMappings: []specs.IDMapping{ -- { -- HostID: uint32(os.Getegid()), -- ContainerID: 0, -- Size: 1, -- }, -- }, -- }, -- } -+ spec := Example() -+ spec.Root.Path = "/" -+ ToRootless(spec) - - opts := &CreateOpts{ - CgroupName: "ContainerID", -diff --git a/spec.go b/spec.go -index d7df312..9024ad4 100644 ---- a/spec.go -+++ b/spec.go -@@ -64,12 +64,21 @@ container on your host.`, - Value: "", - Usage: "path to the root of the bundle directory", - }, -+ cli.BoolFlag{ -+ Name: "rootless", -+ Usage: "generate a configuration for a rootless container", -+ }, - }, - Action: func(context *cli.Context) error { - if err := checkArgs(context, 0, exactArgs); err != nil { - return err - } -- spec := specconv.ExampleSpec() -+ spec := specconv.Example() -+ -+ rootless := context.Bool("rootless") -+ if rootless { -+ specconv.ToRootless(spec) -+ } - - checkNoFile := func(name string) error { - _, err := os.Stat(name) --- -2.7.4.3 - diff --git a/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch b/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch new file mode 100644 index 0000000000000000000000000000000000000000..5c882da43661fdaf84afa006362c953f6e7c661c --- /dev/null +++ b/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch @@ -0,0 +1,28 @@ +From 13e4ce1748fbf311c01238e03f9314b2c2b4777e Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 16:33:33 +0800 +Subject: [PATCH] runc: ignore exec.fifo removing not exist error + +--- + runc-1.1.3/libcontainer/container_linux.go | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/runc-1.1.3/libcontainer/container_linux.go b/runc-1.1.3/libcontainer/container_linux.go +index 9df830d..6b68a0e 100644 +--- a/runc-1.1.3/libcontainer/container_linux.go ++++ b/runc-1.1.3/libcontainer/container_linux.go +@@ -325,7 +325,10 @@ func handleFifoResult(result openResult) error { + if err := readFromExecFifo(f); err != nil { + return err + } +- return os.Remove(f.Name()) ++ if err := os.Remove(f.Name()); !os.IsNotExist(err) { ++ return err ++ } ++ return nil + } + + type openResult struct { +-- +2.30.0 + diff --git a/patch/0010-integration-added-root-requires.patch b/patch/0010-integration-added-root-requires.patch deleted file mode 100644 index 4d2cf873ac0e8ce1773808c3ba0fab2e7916fc03..0000000000000000000000000000000000000000 --- a/patch/0010-integration-added-root-requires.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 7c81f032861f5654e9063e5af82c7794401682f4 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 10 May 2016 22:22:13 +1000 -Subject: [PATCH 10/94] integration: added root requires - -This is in preperation of allowing us to run the integration test suite -on rootless containers. - -Change-Id: I38f7115df4f931857659892b07745c86507d14bf -Signed-off-by: Aleksa Sarai ---- - tests/integration/cgroups.bats | 8 ++++++-- - tests/integration/checkpoint.bats | 3 ++- - tests/integration/helpers.bash | 10 +++++++++- - tests/integration/kill.bats | 1 - - tests/integration/pause.bats | 6 ++++++ - tests/integration/update.bats | 6 +++++- - 6 files changed, 28 insertions(+), 6 deletions(-) - -diff --git a/tests/integration/cgroups.bats b/tests/integration/cgroups.bats -index 9ab6f43..90095a7 100644 ---- a/tests/integration/cgroups.bats -+++ b/tests/integration/cgroups.bats -@@ -28,7 +28,9 @@ function check_cgroup_value() { - } - - @test "runc update --kernel-memory (initialized)" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ requires cgroups_kmem root -+ - # Add cgroup path - sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json - -@@ -56,7 +58,9 @@ EOF - } - - @test "runc update --kernel-memory (uninitialized)" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ requires cgroups_kmem root -+ - # Add cgroup path - sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json - -diff --git a/tests/integration/checkpoint.bats b/tests/integration/checkpoint.bats -index 34d1b03..e91fd65 100644 ---- a/tests/integration/checkpoint.bats -+++ b/tests/integration/checkpoint.bats -@@ -12,7 +12,8 @@ function teardown() { - } - - @test "checkpoint and restore" { -- requires criu -+ # XXX: currently criu require root containers. -+ requires criu root - - # criu does not work with external terminals so.. - # setting terminal and root:readonly: to false -diff --git a/tests/integration/helpers.bash b/tests/integration/helpers.bash -index e4c2cb9..6548333 100644 ---- a/tests/integration/helpers.bash -+++ b/tests/integration/helpers.bash -@@ -40,6 +40,9 @@ CGROUP_CPU_BASE_PATH=$(grep "cgroup" /proc/self/mountinfo | gawk 'toupper($NF) ~ - KMEM="${CGROUP_MEMORY_BASE_PATH}/memory.kmem.limit_in_bytes" - RT_PERIOD="${CGROUP_CPU_BASE_PATH}/cpu.rt_period_us" - -+# Check if we're in rootless mode. -+ROOTLESS=$(id -u) -+ - # Wrapper for runc. - function runc() { - run __runc "$@" -@@ -68,7 +71,12 @@ function requires() { - case $var in - criu) - if [ ! -e "$CRIU" ]; then -- skip "Test requires ${var}." -+ skip "test requires ${var}" -+ fi -+ ;; -+ root) -+ if [ "$ROOTLESS" -ne 0 ]; then -+ skip "test requires ${var}" - fi - ;; - cgroups_kmem) -diff --git a/tests/integration/kill.bats b/tests/integration/kill.bats -index a049de6..74246fa 100644 ---- a/tests/integration/kill.bats -+++ b/tests/integration/kill.bats -@@ -13,7 +13,6 @@ function teardown() { - - - @test "kill detached busybox" { -- - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/pause.bats b/tests/integration/pause.bats -index 2f46a6c..30d98b5 100644 ---- a/tests/integration/pause.bats -+++ b/tests/integration/pause.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "runc pause and resume" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -34,6 +37,9 @@ function teardown() { - } - - @test "runc pause and resume with nonexist container" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run test_busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/update.bats b/tests/integration/update.bats -index 9aaf1b9..4a6bf7f 100644 ---- a/tests/integration/update.bats -+++ b/tests/integration/update.bats -@@ -50,7 +50,11 @@ function check_cgroup_value() { - - # TODO: test rt cgroup updating - @test "update" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ # XXX: Also, this test should be split into separate sections so that we -+ # can skip kmem without skipping update tests overall. -+ requires cgroups_kmem root -+ - # run a few busyboxes detached - runc run -d --console-socket $CONSOLE_SOCKET test_update - [ "$status" -eq 0 ] --- -2.7.4.3 - diff --git a/patch/0055-Add-file-fds-limit.patch b/patch/0010-runc-Add-file-fds-limit.patch similarity index 41% rename from patch/0055-Add-file-fds-limit.patch rename to patch/0010-runc-Add-file-fds-limit.patch index 3204d0e2792e20570bd9d10043db7e2823d22409..ad1bb8e405a6379bdafc11b7fe1d39598518b308 100644 --- a/patch/0055-Add-file-fds-limit.patch +++ b/patch/0010-runc-Add-file-fds-limit.patch @@ -1,53 +1,26 @@ -From fdf82f9b9bac43cac5672226750c826e742559ce Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Mon, 18 Sep 2017 17:25:30 +0800 -Subject: [PATCH 55/94] Add file fds limit +From ebee018ddc5b1d1d9d5484fb2db40123599eb4e8 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Mon, 17 Oct 2022 17:54:20 +0800 +Subject: [PATCH] runc:Add file fds limit -With the patch(https://lwn.net/Articles/604129/),we can limit the -num of open files in container. -Conflicts: - events.go - vendor/github.com/opencontainers/runtime-spec/specs-go/config.go - -Change-Id: I8264c0dd398227ebbd95b7dd9dae4688d76dee9b -Signed-off-by: yangshukui --- - events.go | 9 +++ - libcontainer/cgroups/fs/apply_raw.go | 1 + - libcontainer/cgroups/fs/files.go | 74 ++++++++++++++++++++++ - libcontainer/cgroups/stats.go | 8 +++ - libcontainer/cgroups/systemd/apply_systemd.go | 1 + - libcontainer/configs/cgroup_unix.go | 3 + - libcontainer/specconv/spec_linux.go | 3 + - .../opencontainers/runtime-spec/specs-go/config.go | 8 +++ - 8 files changed, 107 insertions(+) - create mode 100644 libcontainer/cgroups/fs/files.go + runc-1.1.3/events.go | 3 + + runc-1.1.3/libcontainer/cgroups/fs/files.go | 79 +++++++++++++++++++ + runc-1.1.3/libcontainer/cgroups/fs/fs.go | 1 + + runc-1.1.3/libcontainer/cgroups/stats.go | 8 ++ + runc-1.1.3/libcontainer/cgroups/systemd/v1.go | 1 + + .../libcontainer/configs/cgroup_linux.go | 3 + + .../libcontainer/specconv/spec_linux.go | 4 + + runc-1.1.3/types/events.go | 6 ++ + .../runtime-spec/specs-go/config.go | 8 ++ + 9 files changed, 113 insertions(+) + create mode 100644 runc-1.1.3/libcontainer/cgroups/fs/files.go -diff --git a/events.go b/events.go -index 6c21e52..79a72bf 100644 ---- a/events.go -+++ b/events.go -@@ -27,6 +27,7 @@ type stats struct { - CPU cpu `json:"cpu"` - Memory memory `json:"memory"` - Pids pids `json:"pids"` -+ Files files `json:"files"` - Blkio blkio `json:"blkio"` - Hugetlb map[string]hugetlb `json:"hugetlb"` - } -@@ -60,6 +61,11 @@ type pids struct { - Limit uint64 `json:"limit,omitempty"` - } - -+type files struct { -+ Usage uint64 `json:"usage,omitempty"` -+ Limit uint64 `json:"limit,omitempty"` -+} -+ - type throttling struct { - Periods uint64 `json:"periods,omitempty"` - ThrottledPeriods uint64 `json:"throttledPeriods,omitempty"` -@@ -198,6 +204,9 @@ func convertLibcontainerStats(ls *libcontainer.Stats) *stats { +diff --git a/runc-1.1.3/events.go b/runc-1.1.3/events.go +index 6cdc01c..94712e3 100644 +--- a/runc-1.1.3/events.go ++++ b/runc-1.1.3/events.go +@@ -120,6 +120,9 @@ func convertLibcontainerStats(ls *libcontainer.Stats) *types.Stats { s.Pids.Current = cg.PidsStats.Current s.Pids.Limit = cg.PidsStats.Limit @@ -57,52 +30,35 @@ index 6c21e52..79a72bf 100644 s.CPU.Usage.Kernel = cg.CpuStats.CpuUsage.UsageInKernelmode s.CPU.Usage.User = cg.CpuStats.CpuUsage.UsageInUsermode s.CPU.Usage.Total = cg.CpuStats.CpuUsage.TotalUsage -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 66debae..1bf59a4 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -24,6 +24,7 @@ var ( - &CpuGroup{}, - &CpuacctGroup{}, - &PidsGroup{}, -+ &FilesGroup{}, - &BlkioGroup{}, - &HugetlbGroup{}, - &NetClsGroup{}, -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/files.go b/runc-1.1.3/libcontainer/cgroups/fs/files.go new file mode 100644 -index 0000000..f2e253a +index 0000000..3315cda --- /dev/null -+++ b/libcontainer/cgroups/fs/files.go -@@ -0,0 +1,74 @@ -+// +build linux ++++ b/runc-1.1.3/libcontainer/cgroups/fs/files.go +@@ -0,0 +1,79 @@ ++/* ++Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. ++Use of this source code is governed by Apache-2.0 ++license that can be found in the LICENSE file. ++Description: files cgroup common functions ++Author: yangshukui ++Create: 2017-09-18 ++*/ + +package fs + +import ( + "fmt" -+ "io/ioutil" + "strconv" + + "github.com/opencontainers/runc/libcontainer/cgroups" + "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+var ( -+ defaultFilesMax = "8192" ++ "path/filepath" +) + +type FilesGroup struct { +} + -+func init() { -+ contents, err := ioutil.ReadFile("/proc/sys/fs/file-max") -+ if err != nil { -+ return -+ } -+ defaultFilesMax = string(contents) -+} -+ +func (s *FilesGroup) Name() string { + return "files" +} @@ -117,7 +73,8 @@ index 0000000..f2e253a + +func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { + if cgroup.Resources.FilesLimit != 0 { -+ limit := defaultFilesMax ++ // "max" is the fallback value. ++ limit := "max" + if cgroup.Resources.FilesLimit > 0 { + limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) + } @@ -140,20 +97,41 @@ index 0000000..f2e253a + return fmt.Errorf("failed to parse files.usage - %s", err) + } + -+ limit, err := getCgroupParamUint(path, "files.limit") ++ maxString, err := getCgroupParamString(path, "files.limit") + if err != nil { + return fmt.Errorf("failed to parse files.limit - %s", err) + } + ++ // Default if files.limit == "max" is 0 -- which represents "no limit". ++ var max uint64 ++ if maxString != "max" { ++ max, err = parseUint(maxString, 10, 64) ++ if err != nil { ++ return fmt.Errorf("failed to parse files.limit -- unable to parse %q as a uint from Cgroup file %q", maxString, filepath.Join(path, "file.limits")) ++ } ++ } ++ + stats.FilesStats.Usage = usage -+ stats.FilesStats.Limit = limit ++ stats.FilesStats.Limit = max + return nil +} -diff --git a/libcontainer/cgroups/stats.go b/libcontainer/cgroups/stats.go -index b483f1b..5079410 100644 ---- a/libcontainer/cgroups/stats.go -+++ b/libcontainer/cgroups/stats.go -@@ -62,6 +62,13 @@ type PidsStats struct { +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/fs.go b/runc-1.1.3/libcontainer/cgroups/fs/fs.go +index fb4fcc7..59b6dff 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/fs.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/fs.go +@@ -20,6 +20,7 @@ var subsystems = []subsystem{ + &CpuGroup{}, + &CpuacctGroup{}, + &PidsGroup{}, ++ &FilesGroup{}, + &BlkioGroup{}, + &HugetlbGroup{}, + &NetClsGroup{}, +diff --git a/runc-1.1.3/libcontainer/cgroups/stats.go b/runc-1.1.3/libcontainer/cgroups/stats.go +index 40a81dd..8f1d4ce 100644 +--- a/runc-1.1.3/libcontainer/cgroups/stats.go ++++ b/runc-1.1.3/libcontainer/cgroups/stats.go +@@ -116,6 +116,13 @@ type PidsStats struct { Limit uint64 `json:"limit,omitempty"` } @@ -167,19 +145,19 @@ index b483f1b..5079410 100644 type BlkioStatEntry struct { Major uint64 `json:"major,omitempty"` Minor uint64 `json:"minor,omitempty"` -@@ -94,6 +101,7 @@ type Stats struct { - CpuStats CpuStats `json:"cpu_stats,omitempty"` +@@ -160,6 +167,7 @@ type Stats struct { + CPUSetStats CPUSetStats `json:"cpuset_stats,omitempty"` MemoryStats MemoryStats `json:"memory_stats,omitempty"` PidsStats PidsStats `json:"pids_stats,omitempty"` + FilesStats FilesStats `json:"files_stats,omitempty"` BlkioStats BlkioStats `json:"blkio_stats,omitempty"` // the map is in the format "size of hugepage: stats of the hugepage" HugetlbStats map[string]HugetlbStats `json:"hugetlb_stats,omitempty"` -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 456c57d..0411b72 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -54,6 +54,7 @@ var subsystems = subsystemSet{ +diff --git a/runc-1.1.3/libcontainer/cgroups/systemd/v1.go b/runc-1.1.3/libcontainer/cgroups/systemd/v1.go +index a74a05a..19d1099 100644 +--- a/runc-1.1.3/libcontainer/cgroups/systemd/v1.go ++++ b/runc-1.1.3/libcontainer/cgroups/systemd/v1.go +@@ -63,6 +63,7 @@ var legacySubsystems = []subsystem{ &fs.CpuGroup{}, &fs.CpuacctGroup{}, &fs.PidsGroup{}, @@ -187,11 +165,11 @@ index 456c57d..0411b72 100644 &fs.BlkioGroup{}, &fs.HugetlbGroup{}, &fs.PerfEventGroup{}, -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index 75a3db0..acf0562 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -89,6 +89,9 @@ type Resources struct { +diff --git a/runc-1.1.3/libcontainer/configs/cgroup_linux.go b/runc-1.1.3/libcontainer/configs/cgroup_linux.go +index 2d4a898..8cbc154 100644 +--- a/runc-1.1.3/libcontainer/configs/cgroup_linux.go ++++ b/runc-1.1.3/libcontainer/configs/cgroup_linux.go +@@ -87,6 +87,9 @@ type Resources struct { // Process limit; set <= `0' to disable limit. PidsLimit int64 `json:"pids_limit"` @@ -201,25 +179,50 @@ index 75a3db0..acf0562 100644 // Specifies per cgroup weight, range is from 10 to 1000. BlkioWeight uint16 `json:"blkio_weight"` -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a968313..b82082e 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -403,6 +403,9 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -+ if r.Files != nil && r.Files.Limit != nil { -+ c.Resources.FilesLimit = *r.Files.Limit -+ } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { - c.Resources.BlkioWeight = *r.BlockIO.Weight -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 6d2a026..603ecf4 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,6 +318,12 @@ type LinuxPids struct { +diff --git a/runc-1.1.3/libcontainer/specconv/spec_linux.go b/runc-1.1.3/libcontainer/specconv/spec_linux.go +index c7ca4c8..19dd947 100644 +--- a/runc-1.1.3/libcontainer/specconv/spec_linux.go ++++ b/runc-1.1.3/libcontainer/specconv/spec_linux.go +@@ -747,6 +747,10 @@ func CreateCgroupConfig(opts *CreateOpts, defaultDevs []*devices.Device) (*confi + if r.Pids != nil { + c.Resources.PidsLimit = r.Pids.Limit + } ++ if r.Files != nil && r.Files.Limit != nil { ++ c.Resources.FilesLimit = *r.Files.Limit ++ } ++ + if r.BlockIO != nil { + if r.BlockIO.Weight != nil { + c.Resources.BlkioWeight = *r.BlockIO.Weight +diff --git a/runc-1.1.3/types/events.go b/runc-1.1.3/types/events.go +index 81bde82..1fdff8f 100644 +--- a/runc-1.1.3/types/events.go ++++ b/runc-1.1.3/types/events.go +@@ -15,6 +15,7 @@ type Stats struct { + CPUSet CPUSet `json:"cpuset"` + Memory Memory `json:"memory"` + Pids Pids `json:"pids"` ++ Files files `json:"files"` + Blkio Blkio `json:"blkio"` + Hugetlb map[string]Hugetlb `json:"hugetlb"` + IntelRdt IntelRdt `json:"intel_rdt"` +@@ -50,6 +51,11 @@ type Pids struct { + Limit uint64 `json:"limit,omitempty"` + } + ++type files struct { ++ Usage uint64 `json:"usage,omitempty"` ++ Limit uint64 `json:"limit,omitempty"` ++} ++ + type Throttling struct { + Periods uint64 `json:"periods,omitempty"` + ThrottledPeriods uint64 `json:"throttledPeriods,omitempty"` +diff --git a/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +index 6a7a91e..e8143b2 100644 +--- a/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go ++++ b/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +@@ -336,6 +336,12 @@ type LinuxPids struct { Limit int64 `json:"limit"` } @@ -232,7 +235,7 @@ index 6d2a026..603ecf4 100644 // LinuxNetwork identification and priority configuration type LinuxNetwork struct { // Set class identifier for container's network packets -@@ -340,6 +346,8 @@ type LinuxResources struct { +@@ -362,6 +368,8 @@ type LinuxResources struct { CPU *LinuxCPU `json:"cpu,omitempty"` // Task resource restriction configuration. Pids *LinuxPids `json:"pids,omitempty"` @@ -242,5 +245,5 @@ index 6d2a026..603ecf4 100644 BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` // Hugetlb limit (in bytes) -- -2.7.4.3 +2.30.0 diff --git a/patch/0060-runc-runc-logs-forwarding-to-syslog.patch b/patch/0011-runc-logs-forwarding-to-syslog.patch similarity index 55% rename from patch/0060-runc-runc-logs-forwarding-to-syslog.patch rename to patch/0011-runc-logs-forwarding-to-syslog.patch index d07f2191780057b4c77c84e9e169e8717739ffbf..8832fad431d41aacbbde4c3608538928e941a5e8 100644 --- a/patch/0060-runc-runc-logs-forwarding-to-syslog.patch +++ b/patch/0011-runc-logs-forwarding-to-syslog.patch @@ -1,98 +1,104 @@ -From c8d9a899d3425c342e83868540ca357bf9f7a661 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Fri, 19 Oct 2018 15:00:34 +0800 -Subject: [PATCH 60/94] runc: runc logs forwarding to syslog +From 658fb594136222061ad4653cbb540eeade7e5ddc Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Tue, 18 Oct 2022 16:33:41 +0800 +Subject: [PATCH] runc: runc logs forwarding to syslog reason:runc logs forwarding to syslog and using the config "--log-level" to control the number of logs Change-Id: Ia93f6f5c56131ea8558c4b7b7e5c4bec827a1bad - + Conflicts: - libcontainer/container_linux.go - libcontainer/process_linux.go - libcontainer/state_linux.go + libcontainer/container_linux.go + libcontainer/process_linux.go + libcontainer/state_linux.go + --- - create.go | 3 +- - libcontainer/configs/config.go | 55 +++++++++--- - libcontainer/container_linux.go | 16 ++-- - libcontainer/process_linux.go | 19 ++-- - libcontainer/state_linux.go | 4 +- - main.go | 33 +++++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/Sirupsen/logrus/Checklist | 1 + - .../Sirupsen/logrus/hooks/airbrake/airbrake.go | 54 +++++++++++ - .../Sirupsen/logrus/hooks/bugsnag/bugsnag.go | 68 ++++++++++++++ - .../Sirupsen/logrus/hooks/papertrail/README.md | 28 ++++++ - .../Sirupsen/logrus/hooks/papertrail/papertrail.go | 55 ++++++++++++ - .../Sirupsen/logrus/hooks/sentry/README.md | 61 +++++++++++++ - .../Sirupsen/logrus/hooks/sentry/sentry.go | 100 +++++++++++++++++++++ - .../Sirupsen/logrus/hooks/syslog/README.md | 20 +++++ - .../Sirupsen/logrus/hooks/syslog/syslog.go | 59 ++++++++++++ - 16 files changed, 535 insertions(+), 43 deletions(-) - create mode 100644 vendor/github.com/Sirupsen/logrus/Checklist - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go + runc-1.1.3/create.go | 2 +- + runc-1.1.3/libcontainer/configs/config.go | 70 +++++++++--- + runc-1.1.3/libcontainer/container_linux.go | 2 +- + runc-1.1.3/main.go | 20 ++++ + .../github.com/sirupsen/logrus/Checklist | 1 + + .../logrus/hooks/airbrake/airbrake.go | 54 ++++++++++ + .../sirupsen/logrus/hooks/bugsnag/bugsnag.go | 68 ++++++++++++ + .../logrus/hooks/papertrail/README.md | 28 +++++ + .../logrus/hooks/papertrail/papertrail.go | 55 ++++++++++ + .../sirupsen/logrus/hooks/sentry/README.md | 61 +++++++++++ + .../sirupsen/logrus/hooks/sentry/sentry.go | 100 ++++++++++++++++++ + .../sirupsen/logrus/hooks/syslog/README.md | 20 ++++ + .../sirupsen/logrus/hooks/syslog/syslog.go | 59 +++++++++++ + 13 files changed, 523 insertions(+), 17 deletions(-) + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/Checklist + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md + create mode 100644 runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go -diff --git a/create.go b/create.go -index 096e8e3..d0246ad 100644 ---- a/create.go -+++ b/create.go -@@ -1,9 +1,8 @@ - package main +diff --git a/runc-1.1.3/create.go b/runc-1.1.3/create.go +index 97854b8..46ef1ef 100644 +--- a/runc-1.1.3/create.go ++++ b/runc-1.1.3/create.go +@@ -2,9 +2,9 @@ package main import ( + "fmt" - "os" -- + "github.com/urfave/cli" + "os" ) var createCommand = cli.Command{ -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 49bc7a3..d6bc603 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -4,12 +4,18 @@ import ( +diff --git a/runc-1.1.3/libcontainer/configs/config.go b/runc-1.1.3/libcontainer/configs/config.go +index 72910ff..9076846 100644 +--- a/runc-1.1.3/libcontainer/configs/config.go ++++ b/runc-1.1.3/libcontainer/configs/config.go +@@ -4,15 +4,22 @@ import ( "bytes" "encoding/json" "fmt" -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runtime-spec/specs-go" - "os/exec" - "strings" - "time" +- "os/exec" +- "time" +- + "github.com/sirupsen/logrus" +- + "github.com/opencontainers/runc/libcontainer/devices" + "github.com/opencontainers/runtime-spec/specs-go" ++ "os/exec" ++ "time" +) - -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runtime-spec/specs-go" ++ +const ( + minHookTimeOut = 1 * time.Second + defaultHookTimeOut = 5 * time.Second ++ maxHookTimeOut = 120 * time.Second + //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. + defaultWarnTime = 96 * time.Second ) ++ type Rlimit struct { -@@ -195,9 +201,9 @@ type Config struct { - // about the type of the Capabilities field. - // Refer to: https://github.com/opencontainers/runtime-spec/commit/37391fb - type CompatConfig struct { -- Config -- Cgroups *CompatCgroup `json:"cgroups"` -- Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` -+ Config -+ Cgroups *CompatCgroup `json:"cgroups"` -+ Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` - } + Type int `json:"type"` + Hard uint64 `json:"hard"` +@@ -279,11 +286,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { +- logrus.Infof("run hooks %d:%T", i, h) ++ logrus.Infof("run hooks %d:%T, ContainerId: %s", i, h, state.ID) + if err := h.Run(state); err != nil { +- return fmt.Errorf("error running hook #%d: %w", i, err) ++ return fmt.Errorf("error running hook #%d: %w, ContainerId: %s", i, err, state.ID) + } +- logrus.Infof("hooks %d:%T done", i, h) ++ logrus.Infof("hooks %d:%T done, ContainerId: %s", i, h, state.ID) + } - type Hooks struct { -@@ -342,29 +348,52 @@ func (c Command) Run(s HookState) error { + return nil +@@ -388,29 +395,62 @@ func (c Command) Run(s *specs.State) error { Stdout: &stdout, Stderr: &stderr, } @@ -100,8 +106,13 @@ index 49bc7a3..d6bc603 100644 if err := cmd.Start(); err != nil { return err } -+ if c.Timeout != nil && *c.Timeout < minHookTimeOut { ++ if c.Timeout != nil && *c.Timeout <= minHookTimeOut { + *c.Timeout = defaultHookTimeOut ++ logrus.Warnf("hook timeout should not be negative or zero, set hook timeout as 5s") ++ } ++ if c.Timeout != nil && *c.Timeout > maxHookTimeOut { ++ logrus.Warnf("hook timeout: %s is too long, use 120s as timeout. ContainerID: %s", *c.Timeout, s.ID) ++ *c.Timeout = maxHookTimeOut + } errC := make(chan error, 1) + var ( @@ -111,7 +122,7 @@ index 49bc7a3..d6bc603 100644 go func() { err := cmd.Wait() if err != nil { - err = fmt.Errorf("error running hook: %v, stdout: %s, stderr: %s", err, stdout.String(), stderr.String()) + err = fmt.Errorf("error running hook: %w, stdout: %s, stderr: %s", err, stdout.String(), stderr.String()) } + elapsedTime := time.Since(startTime) + logrus.Infof("hook spends time %s, ContainerID: %s", elapsedTime, s.ID) @@ -131,15 +142,16 @@ index 49bc7a3..d6bc603 100644 timer := time.NewTimer(*c.Timeout) defer timer.Stop() timerCh = timer.C -+ warnTime = float64(*c.Timeout) * 0.8 ++ warnTime = (*c.Timeout).Seconds() * 0.8 } - select { - case err := <-errC: - return err - case <-timerCh: -- cmd.Process.Kill() -- cmd.Wait() +- _ = cmd.Process.Kill() +- <-errC - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) ++ timeAfter := time.After(time.Duration(warnTime) * time.Second) + for { + select { + case err := <-errC: @@ -148,225 +160,79 @@ index 49bc7a3..d6bc603 100644 + cmd.Process.Kill() + cmd.Wait() + return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) -+ case <-time.After(time.Duration(warnTime) * time.Second): -+ logrus.Warnf("hook ran more than 80%% of the default timeout, ContainerID: %s", s.ID) ++ case <-timeAfter: ++ if c.Timeout != nil { ++ logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) ++ } else { ++ logrus.Warnf("hook ran more than 80%% of the default timeout 120s, ContainerID: %s", s.ID) ++ } + } } } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 502a274..ba5dcd6 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -68,9 +68,9 @@ type State struct { - } - - // CompatState --type CompatState struct{ -- State -- Config configs.CompatConfig `json:"config"` -+type CompatState struct { -+ State -+ Config configs.CompatConfig `json:"config"` - } - - // Container is a libcontainer container object. -@@ -345,13 +345,13 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { -- logrus.Infof("run poststart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) - if err := parent.terminate(); err != nil { -- logrus.Warn(err) -+ logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } -@@ -1319,9 +1319,9 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { -- logrus.Infof("run prestart hook: %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook: %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook: %d:%s done", i, hook.Info()) - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 70e93de..79b1c4e 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -6,18 +6,17 @@ import ( - "encoding/json" - "errors" - "fmt" -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "io" - "os" - "os/exec" - "path/filepath" - "strconv" - "syscall" -- -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runc/libcontainer/cgroups" -- "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - ) +diff --git a/runc-1.1.3/libcontainer/container_linux.go b/runc-1.1.3/libcontainer/container_linux.go +index 6b68a0e..425e44d 100644 +--- a/runc-1.1.3/libcontainer/container_linux.go ++++ b/runc-1.1.3/libcontainer/container_linux.go +@@ -368,7 +368,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { - type parentProcess interface { -@@ -309,9 +308,9 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } -@@ -338,9 +337,9 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, + if err := c.config.Hooks[configs.Poststart].RunHooks(s); err != nil { + if err := ignoreTerminateErrors(parent.terminate()); err != nil { +- logrus.Warn(fmt.Errorf("error running poststart hook: %w", err)) ++ logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook %d:%s, ContainerID :%s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index b8d2a87..26e091b 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -66,10 +66,10 @@ func runPoststopHooks(c *linuxContainer) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststop { -- logrus.Infof("run poststop hook %d:%s", i, hook.Info()) -+ logrus.Infof("run poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) -- return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) + return err } - logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } -diff --git a/main.go b/main.go -index 1cb8f4d..f15a4ac 100644 ---- a/main.go -+++ b/main.go -@@ -2,13 +2,14 @@ package main - - import ( - "fmt" -- "io" -- "os" -- "strings" -- - "github.com/Sirupsen/logrus" -+ "github.com/Sirupsen/logrus/hooks/syslog" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" -+ "io" -+ "log/syslog" -+ "os" -+ "strings" - ) - - // version will be populated by the Makefile, read from -@@ -76,6 +77,10 @@ func main() { - Usage: "set the format used by logs ('text' (default), or 'json')", +diff --git a/runc-1.1.3/main.go b/runc-1.1.3/main.go +index 4d66638..9e14976 100644 +--- a/runc-1.1.3/main.go ++++ b/runc-1.1.3/main.go +@@ -100,6 +100,10 @@ func main() { + Value: root, + Usage: "root directory for storage of container state (this should be located in tmpfs)", }, - cli.StringFlag{ ++ cli.StringFlag{ + Name: "log-level", -+ Usage: "Set the logging level [debug, info, warn, error, fatal, panic]", ++ Usage: "set the logging level [debug, info, warn, error, fatal, panic]", + }, -+ cli.StringFlag{ - Name: "root", - Value: "/run/runc", - Usage: "root directory for storage of container state (this should be located in tmpfs)", -@@ -110,15 +115,17 @@ func main() { - updateCommand, - } - app.Before = func(context *cli.Context) error { -- if context.GlobalBool("debug") { -- logrus.SetLevel(logrus.DebugLevel) -- } - if path := context.GlobalString("log"); path != "" { - f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND|os.O_SYNC, 0666) - if err != nil { - return err - } - logrus.SetOutput(f) -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) -+ } -+ logrus.AddHook(hook) - } - switch context.GlobalString("log-format") { - case "text": -@@ -128,6 +135,18 @@ func main() { - default: - return fmt.Errorf("unknown log-format %q", context.GlobalString("log-format")) + cli.StringFlag{ + Name: "criu", + Value: "criu", +@@ -211,7 +215,23 @@ func configLogrus(context *cli.Context) error { + return err } -+ if logLevel := context.GlobalString("log-level"); logLevel != "" { -+ lvl, err := logrus.ParseLevel(logLevel) -+ if err != nil { -+ fmt.Fprintf(os.Stderr, "Unable to parse logging level: %s\n", logLevel) -+ os.Exit(1) -+ } -+ logrus.SetLevel(lvl) + logrus.SetOutput(f) ++ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") ++ if serr != nil { ++ fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) + } -+ -+ if context.GlobalBool("debug") { -+ logrus.SetLevel(logrus.DebugLevel) ++ logrus.AddHook(hook) ++ } ++ if logLevel := context.GlobalString("log-level"); logLevel != "" { ++ lvl, err := logrus.ParseLevel(logLevel) ++ if err != nil { ++ fmt.Fprintf(os.Stderr, "Unable to parse logging level: %s\n", logLevel) ++ os.Exit(1) + } - return nil ++ logrus.SetLevel(lvl) } - // If the command returns an error, cli takes upon itself to print -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index c3db7c9..5318ec2 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - Name: docker-runc - Version: 1.0.0.rc3 --Release: 2%{?dist} -+Release: 3%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/Sirupsen/logrus/Checklist b/vendor/github.com/Sirupsen/logrus/Checklist ++ if context.GlobalBool("debug") { ++ logrus.SetLevel(logrus.DebugLevel) ++ } + return nil + } +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/Checklist b/runc-1.1.3/vendor/github.com/sirupsen/logrus/Checklist new file mode 100644 index 0000000..7117b24 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/Checklist ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/Checklist @@ -0,0 +1 @@ +imported from runc v1.0.0-Release Candidate 2: Godeps/_workspace/src/github.com/Sirupsen/logrus/hooks -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go new file mode 100644 index 0000000..b0502c3 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go @@ -0,0 +1,54 @@ +package airbrake + @@ -422,11 +288,11 @@ index 0000000..b0502c3 + logrus.PanicLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go new file mode 100644 index 0000000..d20a0f5 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go @@ -0,0 +1,68 @@ +package logrus_bugsnag + @@ -496,11 +362,11 @@ index 0000000..d20a0f5 + logrus.PanicLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md new file mode 100644 index 0000000..ae61e92 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md @@ -0,0 +1,28 @@ +# Papertrail Hook for Logrus :walrus: + @@ -530,11 +396,11 @@ index 0000000..ae61e92 + } +} +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go new file mode 100644 index 0000000..c0f10c1 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go @@ -0,0 +1,55 @@ +package logrus_papertrail + @@ -591,11 +457,11 @@ index 0000000..c0f10c1 + logrus.DebugLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md new file mode 100644 index 0000000..19e58bb --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md @@ -0,0 +1,61 @@ +# Sentry Hook for Logrus :walrus: + @@ -658,11 +524,11 @@ index 0000000..19e58bb +hook, _ := logrus_sentry.NewSentryHook(...) +hook.Timeout = 20*time.Second +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go b/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go new file mode 100644 index 0000000..379f281 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go @@ -0,0 +1,100 @@ +package logrus_sentry + @@ -764,11 +630,11 @@ index 0000000..379f281 +func (hook *SentryHook) Levels() []logrus.Level { + return hook.levels +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md b/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md new file mode 100644 index 0000000..4dbb8e7 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md @@ -0,0 +1,20 @@ +# Syslog Hooks for Logrus :walrus: + @@ -790,11 +656,11 @@ index 0000000..4dbb8e7 + } +} +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go +diff --git a/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go new file mode 100644 index 0000000..b6fa374 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go ++++ b/runc-1.1.3/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go @@ -0,0 +1,59 @@ +package logrus_syslog + @@ -856,5 +722,5 @@ index 0000000..b6fa374 + } +} -- -2.7.4.3 +2.30.0 diff --git a/patch/0011-tests-add-rootless-integration-tests.patch b/patch/0011-tests-add-rootless-integration-tests.patch deleted file mode 100644 index 65980818337c0fae859c734a506c4a1e39575daf..0000000000000000000000000000000000000000 --- a/patch/0011-tests-add-rootless-integration-tests.patch +++ /dev/null @@ -1,449 +0,0 @@ -From c62d731fc7e928e944e0290df318042c46e80526 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 11 May 2016 17:45:00 +1000 -Subject: [PATCH 11/94] tests: add rootless integration tests - -This adds targets for rootless integration tests, as well as all of the -required setup in order to get the tests to run. This includes quite a -few changes, because of a lot of assumptions about things running as -root within the bats scripts (which is not true when setting up rootless -containers). - -Change-Id: I2fab9fd3ac984e06a7d3e1e1ac0cd888b1543801 -Signed-off-by: Aleksa Sarai ---- - Dockerfile | 7 ++++++ - Makefile | 11 +++++++-- - tests/integration/checkpoint.bats | 5 +++-- - tests/integration/delete.bats | 2 ++ - tests/integration/events.bats | 12 ++++++++++ - tests/integration/exec.bats | 3 +++ - tests/integration/help.bats | 1 + - tests/integration/helpers.bash | 23 ++++++++++++++----- - tests/integration/ps.bats | 11 ++++++++- - tests/integration/spec.bats | 4 ++-- - tests/integration/start_detached.bats | 3 +++ - tests/integration/start_hello.bats | 3 +++ - tests/integration/state.bats | 42 ++++++++++++++++++++++++++--------- - tests/integration/tty.bats | 14 ++++++++++++ - 14 files changed, 117 insertions(+), 24 deletions(-) - -diff --git a/Dockerfile b/Dockerfile -index c971448..fd9be94 100644 ---- a/Dockerfile -+++ b/Dockerfile -@@ -6,6 +6,7 @@ RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main' > /etc/a - RUN apt-get update && apt-get install -y \ - build-essential \ - curl \ -+ sudo \ - gawk \ - iptables \ - jq \ -@@ -22,6 +23,12 @@ RUN apt-get update && apt-get install -y \ - --no-install-recommends \ - && apt-get clean - -+# Add a dummy user for the rootless integration tests. While runC does -+# not require an entry in /etc/passwd to operate, one of the tests uses -+# `git clone` -- and `git clone` does not allow you to clone a -+# repository if the current uid does not have an entry in /etc/passwd. -+RUN useradd -u1000 -m -d/home/rootless -s/bin/bash rootless -+ - # install bats - RUN cd /tmp \ - && git clone https://github.com/sstephenson/bats.git \ -diff --git a/Makefile b/Makefile -index 5fff515..1cecca1 100644 ---- a/Makefile -+++ b/Makefile -@@ -79,10 +79,10 @@ runcimage: - docker build -t $(RUNC_IMAGE) . - - test: -- make unittest integration -+ make unittest integration rootlessintegration - - localtest: -- make localunittest localintegration -+ make localunittest localintegration localrootlessintegration - - unittest: runcimage - docker run -e TESTFLAGS -t --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) $(RUNC_IMAGE) make localunittest -@@ -96,6 +96,13 @@ integration: runcimage - localintegration: all - bats -t tests/integration${TESTFLAGS} - -+rootlessintegration: runcimage -+ docker run -e TESTFLAGS -t --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) --cap-drop=ALL -u rootless $(RUNC_IMAGE) make localintegration -+ -+# FIXME: This should not be separate from rootlessintegration's method of running. -+localrootlessintegration: all -+ sudo -u rootless -H PATH="${PATH}" bats -t tests/integration${TESTFLAGS} -+ - shell: all - docker run -e TESTFLAGS -ti --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) $(RUNC_IMAGE) bash - -diff --git a/tests/integration/checkpoint.bats b/tests/integration/checkpoint.bats -index e91fd65..cd969a8 100644 ---- a/tests/integration/checkpoint.bats -+++ b/tests/integration/checkpoint.bats -@@ -59,8 +59,9 @@ function teardown() { - [[ "${output}" == *"running"* ]] - } - --@test "checkpoint(pre-dump) and restore" { -- requires criu -+@test "checkpoint --pre-dump and restore" { -+ # XXX: currently criu require root containers. -+ requires criu root - - # criu does not work with external terminals so.. - # setting terminal and root:readonly: to false -diff --git a/tests/integration/delete.bats b/tests/integration/delete.bats -index cdadd7d..2c11e79 100644 ---- a/tests/integration/delete.bats -+++ b/tests/integration/delete.bats -@@ -22,11 +22,13 @@ function teardown() { - testcontainer test_busybox running - - runc kill test_busybox KILL -+ [ "$status" -eq 0 ] - # wait for busybox to be in the destroyed state - retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" - - # delete test_busybox - runc delete test_busybox -+ [ "$status" -eq 0 ] - - runc state test_busybox - [ "$status" -ne 0 ] -diff --git a/tests/integration/events.bats b/tests/integration/events.bats -index 182b721..2350073 100644 ---- a/tests/integration/events.bats -+++ b/tests/integration/events.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "events --stats" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -27,6 +30,9 @@ function teardown() { - } - - @test "events --interval default " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -54,6 +60,9 @@ function teardown() { - } - - @test "events --interval 1s " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -80,6 +89,9 @@ function teardown() { - } - - @test "events --interval 100ms " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/exec.bats b/tests/integration/exec.bats -index ba60ea1..f172f9b 100644 ---- a/tests/integration/exec.bats -+++ b/tests/integration/exec.bats -@@ -112,6 +112,9 @@ function teardown() { - } - - @test "runc exec --user" { -+ # --user can't work in rootless containers -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/help.bats b/tests/integration/help.bats -index ca404f3..163de2d 100644 ---- a/tests/integration/help.bats -+++ b/tests/integration/help.bats -@@ -57,6 +57,7 @@ load helpers - [ "$status" -eq 0 ] - [[ ${lines[1]} =~ runc\ resume+ ]] - -+ # We don't use runc_spec here, because we're just testing the help page. - runc spec -h - [ "$status" -eq 0 ] - [[ ${lines[1]} =~ runc\ spec+ ]] -diff --git a/tests/integration/helpers.bash b/tests/integration/helpers.bash -index 6548333..fc8c290 100644 ---- a/tests/integration/helpers.bash -+++ b/tests/integration/helpers.bash -@@ -4,7 +4,7 @@ - INTEGRATION_ROOT=$(dirname "$(readlink -f "$BASH_SOURCE")") - RUNC="${INTEGRATION_ROOT}/../../runc" - RECVTTY="${INTEGRATION_ROOT}/../../contrib/cmd/recvtty/recvtty" --GOPATH="${INTEGRATION_ROOT}/../../../.." -+GOPATH="$(mktemp -d --tmpdir runc-integration-gopath.XXXXXX)" - - # Test data path. - TESTDATA="${INTEGRATION_ROOT}/testdata" -@@ -27,7 +27,7 @@ KERNEL_MINOR="${KERNEL_VERSION#$KERNEL_MAJOR.}" - KERNEL_MINOR="${KERNEL_MINOR%%.*}" - - # Root state path. --ROOT="$BATS_TMPDIR/runc" -+ROOT=$(mktemp -d "$BATS_TMPDIR/runc.XXXXXX") - - # Path to console socket. - CONSOLE_SOCKET="$BATS_TMPDIR/console.sock" -@@ -58,6 +58,17 @@ function __runc() { - "$RUNC" --root "$ROOT" "$@" - } - -+# Wrapper for runc spec. -+function runc_spec() { -+ local args="" -+ -+ if [ "$ROOTLESS" -ne 0 ]; then -+ args+="--rootless" -+ fi -+ -+ runc spec $args "$@" -+} -+ - # Fails the current test, providing the error given. - function fail() { - echo "$@" >&2 -@@ -187,18 +198,18 @@ function setup_busybox() { - if [ ! -e $BUSYBOX_IMAGE ]; then - curl -o $BUSYBOX_IMAGE -sSL 'https://github.com/docker-library/busybox/raw/a0558a9006ce0dd6f6ec5d56cfd3f32ebeeb815f/glibc/busybox.tar.xz' - fi -- tar -C "$BUSYBOX_BUNDLE"/rootfs -xf "$BUSYBOX_IMAGE" -+ tar --exclude './dev/*' -C "$BUSYBOX_BUNDLE"/rootfs -xf "$BUSYBOX_IMAGE" - cd "$BUSYBOX_BUNDLE" -- runc spec -+ runc_spec - } - - function setup_hello() { - setup_recvtty - run mkdir "$HELLO_BUNDLE" - run mkdir "$HELLO_BUNDLE"/rootfs -- tar -C "$HELLO_BUNDLE"/rootfs -xf "$HELLO_IMAGE" -+ tar --exclude './dev/*' -C "$HELLO_BUNDLE"/rootfs -xf "$HELLO_IMAGE" - cd "$HELLO_BUNDLE" -- runc spec -+ runc_spec - sed -i 's;"sh";"/hello";' config.json - } - -diff --git a/tests/integration/ps.bats b/tests/integration/ps.bats -index 7a20015..c000af6 100644 ---- a/tests/integration/ps.bats -+++ b/tests/integration/ps.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "ps" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -24,10 +27,13 @@ function teardown() { - runc ps test_busybox - [ "$status" -eq 0 ] - [[ ${lines[0]} =~ UID\ +PID\ +PPID\ +C\ +STIME\ +TTY\ +TIME\ +CMD+ ]] -- [[ "${lines[1]}" == *"root"*[0-9]* ]] -+ [[ "${lines[1]}" == *"$(id -un 2>/dev/null)"*[0-9]* ]] - } - - @test "ps -f json" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -43,6 +49,9 @@ function teardown() { - } - - @test "ps -e -x" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/spec.bats b/tests/integration/spec.bats -index 79bb690..e9f28fb 100644 ---- a/tests/integration/spec.bats -+++ b/tests/integration/spec.bats -@@ -26,7 +26,7 @@ function teardown() { - [ ! -e config.json ] - - # test generation of spec does not return an error -- runc spec -+ runc_spec - [ "$status" -eq 0 ] - - # test generation of spec created our config.json (spec) -@@ -51,7 +51,7 @@ function teardown() { - [ ! -e "$HELLO_BUNDLE"/config.json ] - - # test generation of spec does not return an error -- runc spec --bundle "$HELLO_BUNDLE" -+ runc_spec --bundle "$HELLO_BUNDLE" - [ "$status" -eq 0 ] - - # test generation of spec created our config.json (spec) -diff --git a/tests/integration/start_detached.bats b/tests/integration/start_detached.bats -index 605fde2..08036dd 100644 ---- a/tests/integration/start_detached.bats -+++ b/tests/integration/start_detached.bats -@@ -23,6 +23,9 @@ function teardown() { - } - - @test "runc run detached ({u,g}id != 0)" { -+ # cannot start containers as another user in rootless setup -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -diff --git a/tests/integration/start_hello.bats b/tests/integration/start_hello.bats -index 6de65e0..2e93572 100644 ---- a/tests/integration/start_hello.bats -+++ b/tests/integration/start_hello.bats -@@ -21,6 +21,9 @@ function teardown() { - } - - @test "runc run ({u,g}id != 0)" { -+ # cannot start containers as another user in rootless setup -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -diff --git a/tests/integration/state.bats b/tests/integration/state.bats -index eed2eb3..3772c1e 100644 ---- a/tests/integration/state.bats -+++ b/tests/integration/state.bats -@@ -11,7 +11,37 @@ function teardown() { - teardown_busybox - } - --@test "state" { -+@test "state (kill + delete)" { -+ runc state test_busybox -+ [ "$status" -ne 0 ] -+ -+ # run busybox detached -+ runc run -d --console-socket $CONSOLE_SOCKET test_busybox -+ [ "$status" -eq 0 ] -+ -+ # check state -+ wait_for_container 15 1 test_busybox -+ -+ testcontainer test_busybox running -+ -+ runc kill test_busybox KILL -+ [ "$status" -eq 0 ] -+ -+ # wait for busybox to be in the destroyed state -+ retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" -+ -+ # delete test_busybox -+ runc delete test_busybox -+ [ "$status" -eq 0 ] -+ -+ runc state test_busybox -+ [ "$status" -ne 0 ] -+} -+ -+@test "state (pause + resume)" { -+ # XXX: pause and resume require cgroups. -+ requires root -+ - runc state test_busybox - [ "$status" -ne 0 ] - -@@ -37,14 +67,4 @@ function teardown() { - - # test state of busybox is back to running - testcontainer test_busybox running -- -- runc kill test_busybox KILL -- # wait for busybox to be in the destroyed state -- retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" -- -- # delete test_busybox -- runc delete test_busybox -- -- runc state test_busybox -- [ "$status" -ne 0 ] - } -diff --git a/tests/integration/tty.bats b/tests/integration/tty.bats -index b9a1f10..9e817db 100644 ---- a/tests/integration/tty.bats -+++ b/tests/integration/tty.bats -@@ -24,6 +24,10 @@ function teardown() { - } - - @test "runc run [tty owner]" { -+ # tty chmod is not doable in rootless containers. -+ # TODO: this can be made as a change to the gid test. -+ requires root -+ - # Replace sh script with stat. - sed -i 's/"sh"/"sh", "-c", "stat -c %u:%g $(tty) | tr : \\\\\\\\n"/' config.json - -@@ -36,6 +40,9 @@ function teardown() { - } - - @test "runc run [tty owner] ({u,g}id != 0)" { -+ # tty chmod is not doable in rootless containers. -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -@@ -72,6 +79,10 @@ function teardown() { - } - - @test "runc exec [tty owner]" { -+ # tty chmod is not doable in rootless containers. -+ # TODO: this can be made as a change to the gid test. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -90,6 +101,9 @@ function teardown() { - } - - @test "runc exec [tty owner] ({u,g}id != 0)" { -+ # tty chmod is not doable in rootless containers. -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json --- -2.7.4.3 - diff --git a/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch b/patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch similarity index 44% rename from patch/0065-runc-support-namespaced-kernel-params-can-be-.patch rename to patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch index b96417677bf54f0d46ad2d6a7ec91c99b2f29e50..989407b8f127a07364bb94c2fe01ffcde7329009 100644 --- a/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch +++ b/patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch @@ -1,40 +1,30 @@ -From c5f152a9dc851e0297f63a73c3e59890da135352 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Fri, 19 Oct 2018 10:53:33 +0800 -Subject: [PATCH 65/94] runc: support namespaced kernel params can be - changed in system container +From eda4f5b5bcf9ca36a2ba3250b366ad1fb4bab28c Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Tue, 18 Oct 2022 17:18:47 +0800 +Subject: [PATCH] runc:support namespaced kernel params can be changed in + system container -reason:support namespaced kernel files can be written in container, -when docker run a system container specify '--ns-change-opt' param, -net or ipc namespaced kernel params can be changed in this container. - -Conflicts: - libcontainer/rootfs_linux.go - script/runc-euleros.spec - -Change-Id: I051b274117abd9745a27577e14a23c906ff7cca3 -Signed-off-by: jingrui --- - libcontainer/rootfs_linux.go | 26 ++++++++++++++++++++++++++ - libcontainer/standard_init_linux.go | 8 ++++++++ - 2 files changed, 34 insertions(+) + runc-1.1.3/libcontainer/rootfs_linux.go | 26 +++++++++++++++++++ + .../libcontainer/standard_init_linux.go | 7 +++++ + 2 files changed, 33 insertions(+) -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 7cf5edd..38bdd1b 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -160,6 +160,9 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - - switch m.Device { - case "proc", "sysfs": +diff --git a/runc-1.1.3/libcontainer/rootfs_linux.go b/runc-1.1.3/libcontainer/rootfs_linux.go +index 3cfd2bf..4dbe9f4 100644 +--- a/runc-1.1.3/libcontainer/rootfs_linux.go ++++ b/runc-1.1.3/libcontainer/rootfs_linux.go +@@ -417,6 +417,9 @@ func mountToRootfs(m *configs.Mount, c *mountConfig) error { + } else if fi.Mode()&os.ModeDir == 0 { + return fmt.Errorf("filesystem %q must be mounted on ordinary directory", m.Device) + } + if strings.HasPrefix(m.Destination, "/proc/sys/") { + return nil + } - if err := os.MkdirAll(dest, 0755); err != nil { + if err := os.MkdirAll(dest, 0o755); err != nil { return err } -@@ -729,6 +732,29 @@ func readonlyPath(path string) error { - return syscall.Mount(path, path, "", syscall.MS_BIND|syscall.MS_REMOUNT|syscall.MS_RDONLY|syscall.MS_REC, "") +@@ -1009,6 +1012,29 @@ func readonlyPath(path string) error { + return nil } +// remountReadWrite will bind over the top of an existing path and ensure that it is read-write. @@ -63,20 +53,12 @@ index 7cf5edd..38bdd1b 100644 // remountReadonly will remount an existing mount point and ensure that it is read-only. func remountReadonly(m *configs.Mount) error { var ( -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 484ba42..18506af 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -6,6 +6,7 @@ import ( - "fmt" - "os" - "os/exec" -+ "strings" - "syscall" - "time" - -@@ -117,6 +118,13 @@ func (l *linuxStandardInit) Init() error { - return err +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index ab553ef..0dd51b2 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -141,6 +141,13 @@ func (l *linuxStandardInit) Init() error { + return fmt.Errorf("can't make %q read-only: %w", path, err) } } + for _, m := range l.config.Config.Mounts { @@ -87,8 +69,8 @@ index 484ba42..18506af 100644 + } + } for _, path := range l.config.Config.MaskPaths { - if err := maskPath(path); err != nil { - return err + if err := maskPath(path, l.config.Config.MountLabel); err != nil { + return fmt.Errorf("can't mask path %s: %w", path, err) -- -2.7.4.3 +2.30.0 diff --git a/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch b/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch deleted file mode 100644 index ee2e8dc0468342032299f7d49a34addd57109cd0..0000000000000000000000000000000000000000 --- a/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch +++ /dev/null @@ -1,123561 +0,0 @@ -From 8601a060f98d137335619c83219779011961fa2f Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 29 Mar 2017 22:07:03 +1100 -Subject: [PATCH 12/94] vendor: add - golang.org/x/sys/unix@9a7256cb28ed514b4e1e5f68959914c4c28a92e0 - -It turns out that the standard "syscall" library is not recommended for -new programs. runC will need to eventually move to this, but for now -include it in vendor so we can use it for new features. - -Change-Id: I52211ff68e7b35cff8fe1b4534ce0a5b25fbd0da -Signed-off-by: Aleksa Sarai ---- - vendor.conf | 1 + - vendor/golang.org/x/sys/LICENSE | 27 + - vendor/golang.org/x/sys/PATENTS | 22 + - vendor/golang.org/x/sys/README | 3 + - vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 + - vendor/golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + - vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_386.s | 35 + - vendor/golang.org/x/sys/unix/asm_linux_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_arm64.s | 24 + - vendor/golang.org/x/sys/unix/asm_linux_mips64x.s | 28 + - vendor/golang.org/x/sys/unix/asm_linux_mipsx.s | 31 + - vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s | 28 + - vendor/golang.org/x/sys/unix/asm_linux_s390x.s | 28 + - vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_openbsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + - vendor/golang.org/x/sys/unix/bluetooth_linux.go | 35 + - vendor/golang.org/x/sys/unix/constants.go | 13 + - vendor/golang.org/x/sys/unix/dirent.go | 102 + - vendor/golang.org/x/sys/unix/endian_big.go | 9 + - vendor/golang.org/x/sys/unix/endian_little.go | 9 + - vendor/golang.org/x/sys/unix/env_unix.go | 27 + - vendor/golang.org/x/sys/unix/env_unset.go | 14 + - vendor/golang.org/x/sys/unix/flock.go | 24 + - vendor/golang.org/x/sys/unix/flock_linux_32bit.go | 13 + - vendor/golang.org/x/sys/unix/gccgo.go | 46 + - vendor/golang.org/x/sys/unix/gccgo_c.c | 41 + - vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go | 20 + - .../golang.org/x/sys/unix/gccgo_linux_sparc64.go | 20 + - vendor/golang.org/x/sys/unix/mkpost.go | 62 + - vendor/golang.org/x/sys/unix/openbsd_pledge.go | 38 + - vendor/golang.org/x/sys/unix/race.go | 30 + - vendor/golang.org/x/sys/unix/race0.go | 25 + - vendor/golang.org/x/sys/unix/sockcmsg_linux.go | 36 + - vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 103 + - vendor/golang.org/x/sys/unix/str.go | 26 + - vendor/golang.org/x/sys/unix/syscall.go | 69 + - vendor/golang.org/x/sys/unix/syscall_bsd.go | 614 ++++++ - vendor/golang.org/x/sys/unix/syscall_darwin.go | 493 +++++ - vendor/golang.org/x/sys/unix/syscall_darwin_386.go | 77 + - .../golang.org/x/sys/unix/syscall_darwin_amd64.go | 79 + - vendor/golang.org/x/sys/unix/syscall_darwin_arm.go | 71 + - .../golang.org/x/sys/unix/syscall_darwin_arm64.go | 77 + - vendor/golang.org/x/sys/unix/syscall_dragonfly.go | 402 ++++ - .../x/sys/unix/syscall_dragonfly_amd64.go | 61 + - vendor/golang.org/x/sys/unix/syscall_freebsd.go | 666 ++++++ - .../golang.org/x/sys/unix/syscall_freebsd_386.go | 61 + - .../golang.org/x/sys/unix/syscall_freebsd_amd64.go | 61 + - .../golang.org/x/sys/unix/syscall_freebsd_arm.go | 61 + - vendor/golang.org/x/sys/unix/syscall_linux.go | 1290 ++++++++++++ - vendor/golang.org/x/sys/unix/syscall_linux_386.go | 399 ++++ - .../golang.org/x/sys/unix/syscall_linux_amd64.go | 152 ++ - .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + - vendor/golang.org/x/sys/unix/syscall_linux_arm.go | 263 +++ - .../golang.org/x/sys/unix/syscall_linux_arm64.go | 190 ++ - .../golang.org/x/sys/unix/syscall_linux_mips64x.go | 208 ++ - .../golang.org/x/sys/unix/syscall_linux_mipsx.go | 239 +++ - .../golang.org/x/sys/unix/syscall_linux_ppc64x.go | 135 ++ - .../golang.org/x/sys/unix/syscall_linux_s390x.go | 328 +++ - .../golang.org/x/sys/unix/syscall_linux_sparc64.go | 169 ++ - vendor/golang.org/x/sys/unix/syscall_netbsd.go | 476 +++++ - vendor/golang.org/x/sys/unix/syscall_netbsd_386.go | 42 + - .../golang.org/x/sys/unix/syscall_netbsd_amd64.go | 42 + - vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go | 42 + - vendor/golang.org/x/sys/unix/syscall_no_getwd.go | 11 + - vendor/golang.org/x/sys/unix/syscall_openbsd.go | 287 +++ - .../golang.org/x/sys/unix/syscall_openbsd_386.go | 42 + - .../golang.org/x/sys/unix/syscall_openbsd_amd64.go | 42 + - vendor/golang.org/x/sys/unix/syscall_solaris.go | 713 +++++++ - .../golang.org/x/sys/unix/syscall_solaris_amd64.go | 35 + - vendor/golang.org/x/sys/unix/syscall_unix.go | 292 +++ - vendor/golang.org/x/sys/unix/syscall_unix_gc.go | 15 + - vendor/golang.org/x/sys/unix/types_darwin.go | 250 +++ - vendor/golang.org/x/sys/unix/types_dragonfly.go | 242 +++ - vendor/golang.org/x/sys/unix/types_freebsd.go | 353 ++++ - vendor/golang.org/x/sys/unix/types_linux.go | 469 +++++ - vendor/golang.org/x/sys/unix/types_netbsd.go | 232 +++ - vendor/golang.org/x/sys/unix/types_openbsd.go | 244 +++ - vendor/golang.org/x/sys/unix/types_solaris.go | 262 +++ - vendor/golang.org/x/sys/unix/zerrors_darwin_386.go | 1576 ++++++++++++++ - .../golang.org/x/sys/unix/zerrors_darwin_amd64.go | 1576 ++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go | 1293 ++++++++++++ - .../golang.org/x/sys/unix/zerrors_darwin_arm64.go | 1576 ++++++++++++++ - .../x/sys/unix/zerrors_dragonfly_amd64.go | 1530 ++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_386.go | 1743 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_amd64.go | 1748 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_arm.go | 1729 ++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_386.go | 1887 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_amd64.go | 1895 +++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_arm.go | 1815 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_arm64.go | 1967 ++++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_mips.go | 1869 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_mips64.go | 1965 ++++++++++++++++++ - .../x/sys/unix/zerrors_linux_mips64le.go | 1965 ++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_mipsle.go | 2066 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_ppc64.go | 2040 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_ppc64le.go | 2036 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_s390x.go | 2093 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_sparc64.go | 2142 ++++++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go | 1712 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_netbsd_amd64.go | 1702 ++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go | 1688 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_openbsd_386.go | 1584 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_openbsd_amd64.go | 1583 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_solaris_amd64.go | 1436 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_386.go | 1394 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_amd64.go | 1409 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_arm.go | 1394 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_arm64.go | 1394 +++++++++++++ - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1382 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_freebsd_386.go | 1617 +++++++++++++++ - .../x/sys/unix/zsyscall_freebsd_amd64.go | 1617 +++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_freebsd_arm.go | 1617 +++++++++++++++ - vendor/golang.org/x/sys/unix/zsyscall_linux_386.go | 1649 +++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_amd64.go | 1842 +++++++++++++++++ - vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go | 1751 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_arm64.go | 1725 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mips.go | 1807 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mips64.go | 1791 ++++++++++++++++ - .../x/sys/unix/zsyscall_linux_mips64le.go | 1791 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mipsle.go | 1807 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_ppc64.go | 1853 +++++++++++++++++ - .../x/sys/unix/zsyscall_linux_ppc64le.go | 1853 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_s390x.go | 1633 +++++++++++++++ - .../x/sys/unix/zsyscall_linux_sparc64.go | 1822 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_386.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_amd64.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_arm.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_openbsd_386.go | 1357 +++++++++++++ - .../x/sys/unix/zsyscall_openbsd_amd64.go | 1357 +++++++++++++ - .../x/sys/unix/zsyscall_solaris_amd64.go | 1562 ++++++++++++++ - vendor/golang.org/x/sys/unix/zsysctl_openbsd.go | 270 +++ - vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go | 398 ++++ - .../golang.org/x/sys/unix/zsysnum_darwin_amd64.go | 398 ++++ - vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go | 358 ++++ - .../golang.org/x/sys/unix/zsysnum_darwin_arm64.go | 398 ++++ - .../x/sys/unix/zsysnum_dragonfly_amd64.go | 304 +++ - .../golang.org/x/sys/unix/zsysnum_freebsd_386.go | 351 ++++ - .../golang.org/x/sys/unix/zsysnum_freebsd_amd64.go | 351 ++++ - .../golang.org/x/sys/unix/zsysnum_freebsd_arm.go | 351 ++++ - vendor/golang.org/x/sys/unix/zsysnum_linux_386.go | 388 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_amd64.go | 341 ++++ - vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go | 361 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_arm64.go | 285 +++ - vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go | 374 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_mips64.go | 334 +++ - .../x/sys/unix/zsysnum_linux_mips64le.go | 334 +++ - .../golang.org/x/sys/unix/zsysnum_linux_mipsle.go | 374 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_ppc64.go | 369 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_ppc64le.go | 369 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_s390x.go | 331 +++ - .../golang.org/x/sys/unix/zsysnum_linux_sparc64.go | 348 ++++ - vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go | 273 +++ - .../golang.org/x/sys/unix/zsysnum_netbsd_amd64.go | 273 +++ - vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go | 273 +++ - .../golang.org/x/sys/unix/zsysnum_openbsd_386.go | 207 ++ - .../golang.org/x/sys/unix/zsysnum_openbsd_amd64.go | 207 ++ - .../golang.org/x/sys/unix/zsysnum_solaris_amd64.go | 13 + - vendor/golang.org/x/sys/unix/ztypes_darwin_386.go | 447 ++++ - .../golang.org/x/sys/unix/ztypes_darwin_amd64.go | 462 +++++ - vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go | 449 ++++ - .../golang.org/x/sys/unix/ztypes_darwin_arm64.go | 457 +++++ - .../x/sys/unix/ztypes_dragonfly_amd64.go | 443 ++++ - vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go | 502 +++++ - .../golang.org/x/sys/unix/ztypes_freebsd_amd64.go | 505 +++++ - vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go | 497 +++++ - vendor/golang.org/x/sys/unix/ztypes_linux_386.go | 653 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go | 671 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_arm.go | 642 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go | 650 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_mips.go | 660 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mips64.go | 653 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mips64le.go | 653 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mipsle.go | 660 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go | 660 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_ppc64le.go | 660 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go | 675 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_sparc64.go | 666 ++++++ - vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go | 396 ++++ - .../golang.org/x/sys/unix/ztypes_netbsd_amd64.go | 403 ++++ - vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go | 401 ++++ - vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go | 441 ++++ - .../golang.org/x/sys/unix/ztypes_openbsd_amd64.go | 448 ++++ - .../golang.org/x/sys/unix/ztypes_solaris_amd64.go | 423 ++++ - 194 files changed, 121990 insertions(+) - create mode 100644 vendor/golang.org/x/sys/LICENSE - create mode 100644 vendor/golang.org/x/sys/PATENTS - create mode 100644 vendor/golang.org/x/sys/README - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/constants.go - create mode 100644 vendor/golang.org/x/sys/unix/dirent.go - create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go - create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go - create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/env_unset.go - create mode 100644 vendor/golang.org/x/sys/unix/flock.go - create mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/mkpost.go - create mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go - create mode 100644 vendor/golang.org/x/sys/unix/race.go - create mode 100644 vendor/golang.org/x/sys/unix/race0.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/str.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go - create mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go - create mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go - create mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go - -diff --git a/vendor.conf b/vendor.conf -index 75dfca4..17a546e 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -12,3 +12,4 @@ github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 - github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e - github.com/vishvananda/netlink 1e2e08e8a2dcdacaae3f14ac44c5cfa31361f270 -+golang.org/x/sys 9a7256cb28ed514b4e1e5f68959914c4c28a92e0 https://github.com/golang/sys -diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE -new file mode 100644 -index 0000000..6a66aea ---- /dev/null -+++ b/vendor/golang.org/x/sys/LICENSE -@@ -0,0 +1,27 @@ -+Copyright (c) 2009 The Go Authors. All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ * Redistributions of source code must retain the above copyright -+notice, this list of conditions and the following disclaimer. -+ * Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the following disclaimer -+in the documentation and/or other materials provided with the -+distribution. -+ * Neither the name of Google Inc. nor the names of its -+contributors may be used to endorse or promote products derived from -+this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS -new file mode 100644 -index 0000000..7330990 ---- /dev/null -+++ b/vendor/golang.org/x/sys/PATENTS -@@ -0,0 +1,22 @@ -+Additional IP Rights Grant (Patents) -+ -+"This implementation" means the copyrightable works distributed by -+Google as part of the Go project. -+ -+Google hereby grants to You a perpetual, worldwide, non-exclusive, -+no-charge, royalty-free, irrevocable (except as stated in this section) -+patent license to make, have made, use, offer to sell, sell, import, -+transfer and otherwise run, modify and propagate the contents of this -+implementation of Go, where such license applies only to those patent -+claims, both currently owned or controlled by Google and acquired in -+the future, licensable by Google that are necessarily infringed by this -+implementation of Go. This grant does not include claims that would be -+infringed only as a consequence of further modification of this -+implementation. If you or your agent or exclusive licensee institute or -+order or agree to the institution of patent litigation against any -+entity (including a cross-claim or counterclaim in a lawsuit) alleging -+that this implementation of Go or any code incorporated within this -+implementation of Go constitutes direct or contributory patent -+infringement, or inducement of patent infringement, then any patent -+rights granted to you under this License for this implementation of Go -+shall terminate as of the date such litigation is filed. -diff --git a/vendor/golang.org/x/sys/README b/vendor/golang.org/x/sys/README -new file mode 100644 -index 0000000..bd422b4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/README -@@ -0,0 +1,3 @@ -+This repository holds supplemental Go packages for low-level interactions with the operating system. -+ -+To submit changes to this repository, see http://golang.org/doc/contribute.html. -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s -new file mode 100644 -index 0000000..8a72783 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s -new file mode 100644 -index 0000000..6321421 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s -new file mode 100644 -index 0000000..333242d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s -@@ -0,0 +1,30 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+// +build arm,darwin -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s -new file mode 100644 -index 0000000..97e0174 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s -@@ -0,0 +1,30 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+// +build arm64,darwin -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s -new file mode 100644 -index 0000000..d5ed672 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, DragonFly -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-64 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-88 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-112 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-64 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s -new file mode 100644 -index 0000000..c9a0a26 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s -new file mode 100644 -index 0000000..3517247 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s -new file mode 100644 -index 0000000..9227c87 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s -new file mode 100644 -index 0000000..4db2909 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s -@@ -0,0 +1,35 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for 386, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -+ -+TEXT ·socketcall(SB),NOSPLIT,$0-36 -+ JMP syscall·socketcall(SB) -+ -+TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 -+ JMP syscall·rawsocketcall(SB) -+ -+TEXT ·seek(SB),NOSPLIT,$0-28 -+ JMP syscall·seek(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s -new file mode 100644 -index 0000000..44e25c6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for AMD64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -+ -+TEXT ·gettimeofday(SB),NOSPLIT,$0-16 -+ JMP syscall·gettimeofday(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s -new file mode 100644 -index 0000000..cf0b574 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for arm, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -+ -+TEXT ·seek(SB),NOSPLIT,$0-32 -+ B syscall·seek(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s -new file mode 100644 -index 0000000..4be9bfe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s -@@ -0,0 +1,24 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build arm64 -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ B syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s -new file mode 100644 -index 0000000..724e580 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s -@@ -0,0 +1,28 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips64 mips64le -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for mips64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s -new file mode 100644 -index 0000000..2ea4257 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s -@@ -0,0 +1,31 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips mipsle -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for mips, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s -new file mode 100644 -index 0000000..8d231fe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s -@@ -0,0 +1,28 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build ppc64 ppc64le -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for ppc64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ BR syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ BR syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ BR syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ BR syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s -new file mode 100644 -index 0000000..1188985 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s -@@ -0,0 +1,28 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build s390x -+// +build linux -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for s390x, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ BR syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ BR syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ BR syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ BR syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s -new file mode 100644 -index 0000000..48bdcd7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s -new file mode 100644 -index 0000000..2ede05c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s -new file mode 100644 -index 0000000..e892857 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s -new file mode 100644 -index 0000000..00576f3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, OpenBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s -new file mode 100644 -index 0000000..790ef77 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, OpenBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s -new file mode 100644 -index 0000000..43ed17a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s -@@ -0,0 +1,17 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go -+// -+ -+TEXT ·sysvicall6(SB),NOSPLIT,$0-64 -+ JMP syscall·sysvicall6(SB) -+ -+TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64 -+ JMP syscall·rawSysvicall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -new file mode 100644 -index 0000000..6e32296 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -@@ -0,0 +1,35 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Bluetooth sockets and messages -+ -+package unix -+ -+// Bluetooth Protocols -+const ( -+ BTPROTO_L2CAP = 0 -+ BTPROTO_HCI = 1 -+ BTPROTO_SCO = 2 -+ BTPROTO_RFCOMM = 3 -+ BTPROTO_BNEP = 4 -+ BTPROTO_CMTP = 5 -+ BTPROTO_HIDP = 6 -+ BTPROTO_AVDTP = 7 -+) -+ -+const ( -+ HCI_CHANNEL_RAW = 0 -+ HCI_CHANNEL_USER = 1 -+ HCI_CHANNEL_MONITOR = 2 -+ HCI_CHANNEL_CONTROL = 3 -+) -+ -+// Socketoption Level -+const ( -+ SOL_BLUETOOTH = 0x112 -+ SOL_HCI = 0x0 -+ SOL_L2CAP = 0x6 -+ SOL_RFCOMM = 0x12 -+ SOL_SCO = 0x11 -+) -diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go -new file mode 100644 -index 0000000..a96f0eb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/constants.go -@@ -0,0 +1,13 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+const ( -+ R_OK = 0x4 -+ W_OK = 0x2 -+ X_OK = 0x1 -+) -diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go -new file mode 100644 -index 0000000..bd47581 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/dirent.go -@@ -0,0 +1,102 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris -+ -+package unix -+ -+import "unsafe" -+ -+// readInt returns the size-bytes unsigned integer in native byte order at offset off. -+func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { -+ if len(b) < int(off+size) { -+ return 0, false -+ } -+ if isBigEndian { -+ return readIntBE(b[off:], size), true -+ } -+ return readIntLE(b[off:], size), true -+} -+ -+func readIntBE(b []byte, size uintptr) uint64 { -+ switch size { -+ case 1: -+ return uint64(b[0]) -+ case 2: -+ _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[1]) | uint64(b[0])<<8 -+ case 4: -+ _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 -+ case 8: -+ _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | -+ uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 -+ default: -+ panic("syscall: readInt with unsupported size") -+ } -+} -+ -+func readIntLE(b []byte, size uintptr) uint64 { -+ switch size { -+ case 1: -+ return uint64(b[0]) -+ case 2: -+ _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 -+ case 4: -+ _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 -+ case 8: -+ _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -+ uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -+ default: -+ panic("syscall: readInt with unsupported size") -+ } -+} -+ -+// ParseDirent parses up to max directory entries in buf, -+// appending the names to names. It returns the number of -+// bytes consumed from buf, the number of entries added -+// to names, and the new names slice. -+func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { -+ origlen := len(buf) -+ count = 0 -+ for max != 0 && len(buf) > 0 { -+ reclen, ok := direntReclen(buf) -+ if !ok || reclen > uint64(len(buf)) { -+ return origlen, count, names -+ } -+ rec := buf[:reclen] -+ buf = buf[reclen:] -+ ino, ok := direntIno(rec) -+ if !ok { -+ break -+ } -+ if ino == 0 { // File absent in directory. -+ continue -+ } -+ const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) -+ namlen, ok := direntNamlen(rec) -+ if !ok || namoff+namlen > uint64(len(rec)) { -+ break -+ } -+ name := rec[namoff : namoff+namlen] -+ for i, c := range name { -+ if c == 0 { -+ name = name[:i] -+ break -+ } -+ } -+ // Check for useless names before allocating a string. -+ if string(name) == "." || string(name) == ".." { -+ continue -+ } -+ max-- -+ count++ -+ names = append(names, string(name)) -+ } -+ return origlen - len(buf), count, names -+} -diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go -new file mode 100644 -index 0000000..8cce9f1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/endian_big.go -@@ -0,0 +1,9 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+// -+// +build ppc64 s390x mips64 -+ -+package unix -+ -+const isBigEndian = true -diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go -new file mode 100644 -index 0000000..9ed865f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/endian_little.go -@@ -0,0 +1,9 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+// -+// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le -+ -+package unix -+ -+const isBigEndian = false -diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go -new file mode 100644 -index 0000000..45e281a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/env_unix.go -@@ -0,0 +1,27 @@ -+// Copyright 2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Unix environment variables. -+ -+package unix -+ -+import "syscall" -+ -+func Getenv(key string) (value string, found bool) { -+ return syscall.Getenv(key) -+} -+ -+func Setenv(key, value string) error { -+ return syscall.Setenv(key, value) -+} -+ -+func Clearenv() { -+ syscall.Clearenv() -+} -+ -+func Environ() []string { -+ return syscall.Environ() -+} -diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go -new file mode 100644 -index 0000000..9222262 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/env_unset.go -@@ -0,0 +1,14 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build go1.4 -+ -+package unix -+ -+import "syscall" -+ -+func Unsetenv(key string) error { -+ // This was added in Go 1.4. -+ return syscall.Unsetenv(key) -+} -diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go -new file mode 100644 -index 0000000..ce67a59 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/flock.go -@@ -0,0 +1,24 @@ -+// +build linux darwin freebsd openbsd netbsd dragonfly -+ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd -+ -+package unix -+ -+import "unsafe" -+ -+// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux -+// systems by flock_linux_32bit.go to be SYS_FCNTL64. -+var fcntl64Syscall uintptr = SYS_FCNTL -+ -+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { -+ _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) -+ if errno == 0 { -+ return nil -+ } -+ return errno -+} -diff --git a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go -new file mode 100644 -index 0000000..fc0e50e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go -@@ -0,0 +1,13 @@ -+// +build linux,386 linux,arm linux,mips linux,mipsle -+ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package unix -+ -+func init() { -+ // On 32-bit Linux systems, the fcntl syscall that matches Go's -+ // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. -+ fcntl64Syscall = SYS_FCNTL64 -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go -new file mode 100644 -index 0000000..94c8232 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo.go -@@ -0,0 +1,46 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo -+ -+package unix -+ -+import "syscall" -+ -+// We can't use the gc-syntax .s files for gccgo. On the plus side -+// much of the functionality can be written directly in Go. -+ -+//extern gccgoRealSyscall -+func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) -+ -+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) -+ return r, 0, syscall.Errno(errno) -+} -+ -+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) -+ return r, 0, syscall.Errno(errno) -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c -new file mode 100644 -index 0000000..07f6be0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c -@@ -0,0 +1,41 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo -+ -+#include -+#include -+#include -+ -+#define _STRINGIFY2_(x) #x -+#define _STRINGIFY_(x) _STRINGIFY2_(x) -+#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) -+ -+// Call syscall from C code because the gccgo support for calling from -+// Go to C does not support varargs functions. -+ -+struct ret { -+ uintptr_t r; -+ uintptr_t err; -+}; -+ -+struct ret -+gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) -+{ -+ struct ret r; -+ -+ errno = 0; -+ r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); -+ r.err = errno; -+ return r; -+} -+ -+// Define the use function in C so that it is not inlined. -+ -+extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline)); -+ -+void -+use(void *p __attribute__ ((unused))) -+{ -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go -new file mode 100644 -index 0000000..bffe1a7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go -@@ -0,0 +1,20 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo,linux,amd64 -+ -+package unix -+ -+import "syscall" -+ -+//extern gettimeofday -+func realGettimeofday(*Timeval, *byte) int32 -+ -+func gettimeofday(tv *Timeval) (err syscall.Errno) { -+ r := realGettimeofday(tv, nil) -+ if r < 0 { -+ return syscall.GetErrno() -+ } -+ return 0 -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go -new file mode 100644 -index 0000000..5633269 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go -@@ -0,0 +1,20 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo,linux,sparc64 -+ -+package unix -+ -+import "syscall" -+ -+//extern sysconf -+func realSysconf(name int) int64 -+ -+func sysconf(name int) (n int64, err syscall.Errno) { -+ r := realSysconf(name) -+ if r < 0 { -+ return 0, syscall.GetErrno() -+ } -+ return r, 0 -+} -diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go -new file mode 100644 -index 0000000..ed50d90 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/mkpost.go -@@ -0,0 +1,62 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+// mkpost processes the output of cgo -godefs to -+// modify the generated types. It is used to clean up -+// the sys API in an architecture specific manner. -+// -+// mkpost is run after cgo -godefs by mkall.sh. -+package main -+ -+import ( -+ "fmt" -+ "go/format" -+ "io/ioutil" -+ "log" -+ "os" -+ "regexp" -+) -+ -+func main() { -+ b, err := ioutil.ReadAll(os.Stdin) -+ if err != nil { -+ log.Fatal(err) -+ } -+ s := string(b) -+ -+ goarch := os.Getenv("GOARCH") -+ goos := os.Getenv("GOOS") -+ if goarch == "s390x" && goos == "linux" { -+ // Export the types of PtraceRegs fields. -+ re := regexp.MustCompile("ptrace(Psw|Fpregs|Per)") -+ s = re.ReplaceAllString(s, "Ptrace$1") -+ -+ // Replace padding fields inserted by cgo with blank identifiers. -+ re = regexp.MustCompile("Pad_cgo[A-Za-z0-9_]*") -+ s = re.ReplaceAllString(s, "_") -+ -+ // Replace other unwanted fields with blank identifiers. -+ re = regexp.MustCompile("X_[A-Za-z0-9_]*") -+ s = re.ReplaceAllString(s, "_") -+ -+ // Replace the control_regs union with a blank identifier for now. -+ re = regexp.MustCompile("(Control_regs)\\s+\\[0\\]uint64") -+ s = re.ReplaceAllString(s, "_ [0]uint64") -+ } -+ -+ // gofmt -+ b, err = format.Source([]byte(s)) -+ if err != nil { -+ log.Fatal(err) -+ } -+ -+ // Append this command to the header to show where the new file -+ // came from. -+ re := regexp.MustCompile("(cgo -godefs [a-zA-Z0-9_]+\\.go.*)") -+ b = re.ReplaceAll(b, []byte("$1 | go run mkpost.go")) -+ -+ fmt.Printf("%s", b) -+} -diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go -new file mode 100644 -index 0000000..db4f72e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/openbsd_pledge.go -@@ -0,0 +1,38 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build openbsd -+// +build 386 amd64 arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+const ( -+ SYS_PLEDGE = 108 -+) -+ -+// Pledge implements the pledge syscall. For more information see pledge(2). -+func Pledge(promises string, paths []string) error { -+ promisesPtr, err := syscall.BytePtrFromString(promises) -+ if err != nil { -+ return err -+ } -+ promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil) -+ if paths != nil { -+ var pathsPtr []*byte -+ if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil { -+ return err -+ } -+ pathsUnsafe = unsafe.Pointer(&pathsPtr[0]) -+ } -+ _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0) -+ if e != 0 { -+ return e -+ } -+ return nil -+} -diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go -new file mode 100644 -index 0000000..3c7627e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/race.go -@@ -0,0 +1,30 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin,race linux,race freebsd,race -+ -+package unix -+ -+import ( -+ "runtime" -+ "unsafe" -+) -+ -+const raceenabled = true -+ -+func raceAcquire(addr unsafe.Pointer) { -+ runtime.RaceAcquire(addr) -+} -+ -+func raceReleaseMerge(addr unsafe.Pointer) { -+ runtime.RaceReleaseMerge(addr) -+} -+ -+func raceReadRange(addr unsafe.Pointer, len int) { -+ runtime.RaceReadRange(addr, len) -+} -+ -+func raceWriteRange(addr unsafe.Pointer, len int) { -+ runtime.RaceWriteRange(addr, len) -+} -diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go -new file mode 100644 -index 0000000..f8678e0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/race0.go -@@ -0,0 +1,25 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly -+ -+package unix -+ -+import ( -+ "unsafe" -+) -+ -+const raceenabled = false -+ -+func raceAcquire(addr unsafe.Pointer) { -+} -+ -+func raceReleaseMerge(addr unsafe.Pointer) { -+} -+ -+func raceReadRange(addr unsafe.Pointer, len int) { -+} -+ -+func raceWriteRange(addr unsafe.Pointer, len int) { -+} -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -new file mode 100644 -index 0000000..d9ff473 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -@@ -0,0 +1,36 @@ -+// Copyright 2011 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Socket control messages -+ -+package unix -+ -+import "unsafe" -+ -+// UnixCredentials encodes credentials into a socket control message -+// for sending to another process. This can be used for -+// authentication. -+func UnixCredentials(ucred *Ucred) []byte { -+ b := make([]byte, CmsgSpace(SizeofUcred)) -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ h.Level = SOL_SOCKET -+ h.Type = SCM_CREDENTIALS -+ h.SetLen(CmsgLen(SizeofUcred)) -+ *((*Ucred)(cmsgData(h))) = *ucred -+ return b -+} -+ -+// ParseUnixCredentials decodes a socket control message that contains -+// credentials in a Ucred structure. To receive such a message, the -+// SO_PASSCRED option must be enabled on the socket. -+func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { -+ if m.Header.Level != SOL_SOCKET { -+ return nil, EINVAL -+ } -+ if m.Header.Type != SCM_CREDENTIALS { -+ return nil, EINVAL -+ } -+ ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) -+ return &ucred, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -new file mode 100644 -index 0000000..f1493a3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -@@ -0,0 +1,103 @@ -+// Copyright 2011 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Socket control messages -+ -+package unix -+ -+import "unsafe" -+ -+// Round the length of a raw sockaddr up to align it properly. -+func cmsgAlignOf(salen int) int { -+ salign := sizeofPtr -+ // NOTE: It seems like 64-bit Darwin and DragonFly BSD kernels -+ // still require 32-bit aligned access to network subsystem. -+ if darwin64Bit || dragonfly64Bit { -+ salign = 4 -+ } -+ return (salen + salign - 1) & ^(salign - 1) -+} -+ -+// CmsgLen returns the value to store in the Len field of the Cmsghdr -+// structure, taking into account any necessary alignment. -+func CmsgLen(datalen int) int { -+ return cmsgAlignOf(SizeofCmsghdr) + datalen -+} -+ -+// CmsgSpace returns the number of bytes an ancillary element with -+// payload of the passed data length occupies. -+func CmsgSpace(datalen int) int { -+ return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) -+} -+ -+func cmsgData(h *Cmsghdr) unsafe.Pointer { -+ return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr))) -+} -+ -+// SocketControlMessage represents a socket control message. -+type SocketControlMessage struct { -+ Header Cmsghdr -+ Data []byte -+} -+ -+// ParseSocketControlMessage parses b as an array of socket control -+// messages. -+func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { -+ var msgs []SocketControlMessage -+ i := 0 -+ for i+CmsgLen(0) <= len(b) { -+ h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) -+ if err != nil { -+ return nil, err -+ } -+ m := SocketControlMessage{Header: *h, Data: dbuf} -+ msgs = append(msgs, m) -+ i += cmsgAlignOf(int(h.Len)) -+ } -+ return msgs, nil -+} -+ -+func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { -+ return nil, nil, EINVAL -+ } -+ return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil -+} -+ -+// UnixRights encodes a set of open file descriptors into a socket -+// control message for sending to another process. -+func UnixRights(fds ...int) []byte { -+ datalen := len(fds) * 4 -+ b := make([]byte, CmsgSpace(datalen)) -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ h.Level = SOL_SOCKET -+ h.Type = SCM_RIGHTS -+ h.SetLen(CmsgLen(datalen)) -+ data := cmsgData(h) -+ for _, fd := range fds { -+ *(*int32)(data) = int32(fd) -+ data = unsafe.Pointer(uintptr(data) + 4) -+ } -+ return b -+} -+ -+// ParseUnixRights decodes a socket control message that contains an -+// integer array of open file descriptors from another process. -+func ParseUnixRights(m *SocketControlMessage) ([]int, error) { -+ if m.Header.Level != SOL_SOCKET { -+ return nil, EINVAL -+ } -+ if m.Header.Type != SCM_RIGHTS { -+ return nil, EINVAL -+ } -+ fds := make([]int, len(m.Data)>>2) -+ for i, j := 0, 0; i < len(m.Data); i += 4 { -+ fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) -+ j++ -+ } -+ return fds, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go -new file mode 100644 -index 0000000..35ed664 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/str.go -@@ -0,0 +1,26 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+func itoa(val int) string { // do it here rather than with fmt to avoid dependency -+ if val < 0 { -+ return "-" + uitoa(uint(-val)) -+ } -+ return uitoa(uint(val)) -+} -+ -+func uitoa(val uint) string { -+ var buf [32]byte // big enough for int64 -+ i := len(buf) - 1 -+ for val >= 10 { -+ buf[i] = byte(val%10 + '0') -+ i-- -+ val /= 10 -+ } -+ buf[i] = byte(val + '0') -+ return string(buf[i:]) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go -new file mode 100644 -index 0000000..85e3502 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall.go -@@ -0,0 +1,69 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Package unix contains an interface to the low-level operating system -+// primitives. OS details vary depending on the underlying system, and -+// by default, godoc will display OS-specific documentation for the current -+// system. If you want godoc to display OS documentation for another -+// system, set $GOOS and $GOARCH to the desired system. For example, if -+// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS -+// to freebsd and $GOARCH to arm. -+// The primary use of this package is inside other packages that provide a more -+// portable interface to the system, such as "os", "time" and "net". Use -+// those packages rather than this one if you can. -+// For details of the functions and data types in this package consult -+// the manuals for the appropriate operating system. -+// These calls return err == nil to indicate success; otherwise -+// err represents an operating system error describing the failure and -+// holds a value of type syscall.Errno. -+package unix // import "golang.org/x/sys/unix" -+ -+// ByteSliceFromString returns a NUL-terminated slice of bytes -+// containing the text of s. If s contains a NUL byte at any -+// location, it returns (nil, EINVAL). -+func ByteSliceFromString(s string) ([]byte, error) { -+ for i := 0; i < len(s); i++ { -+ if s[i] == 0 { -+ return nil, EINVAL -+ } -+ } -+ a := make([]byte, len(s)+1) -+ copy(a, s) -+ return a, nil -+} -+ -+// BytePtrFromString returns a pointer to a NUL-terminated array of -+// bytes containing the text of s. If s contains a NUL byte at any -+// location, it returns (nil, EINVAL). -+func BytePtrFromString(s string) (*byte, error) { -+ a, err := ByteSliceFromString(s) -+ if err != nil { -+ return nil, err -+ } -+ return &a[0], nil -+} -+ -+// Single-word zero for use when we need a valid pointer to 0 bytes. -+// See mkunix.pl. -+var _zero uintptr -+ -+func (ts *Timespec) Unix() (sec int64, nsec int64) { -+ return int64(ts.Sec), int64(ts.Nsec) -+} -+ -+func (tv *Timeval) Unix() (sec int64, nsec int64) { -+ return int64(tv.Sec), int64(tv.Usec) * 1000 -+} -+ -+func (ts *Timespec) Nano() int64 { -+ return int64(ts.Sec)*1e9 + int64(ts.Nsec) -+} -+ -+func (tv *Timeval) Nano() int64 { -+ return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 -+} -+ -+func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } -diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go -new file mode 100644 -index 0000000..ccb29c7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go -@@ -0,0 +1,614 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd netbsd openbsd -+ -+// BSD system call wrappers shared by *BSD based systems -+// including OS X (Darwin) and FreeBSD. Like the other -+// syscall_*.go files it is compiled as Go code but also -+// used as input to mksyscall which parses the //sys -+// lines and generates system call stubs. -+ -+package unix -+ -+import ( -+ "runtime" -+ "syscall" -+ "unsafe" -+) -+ -+/* -+ * Wrapped -+ */ -+ -+//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -+//sysnb setgroups(ngid int, gid *_Gid_t) (err error) -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ if err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Sanity check group count. Max is 16 on BSD. -+ if n < 0 || n > 1000 { -+ return nil, EINVAL -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if err != nil { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ // Final argument is (basep *uintptr) and the syscall doesn't take nil. -+ // 64 bits should be enough. (32 bits isn't even on 386). Since the -+ // actual system call is getdirentries64, 64 is a good guess. -+ // TODO(rsc): Can we use a single global basep for all calls? -+ var base = (*uintptr)(unsafe.Pointer(new(uint64))) -+ return Getdirentries(fd, buf, base) -+} -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. -+ -+type WaitStatus uint32 -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ shift = 8 -+ -+ exited = 0 -+ stopped = 0x7F -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) ExitStatus() int { -+ if w&mask != exited { -+ return -1 -+ } -+ return int(w >> shift) -+} -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ sig := syscall.Signal(w & mask) -+ if sig == stopped || sig == 0 { -+ return -1 -+ } -+ return sig -+} -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } -+ -+func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { return -1 } -+ -+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { -+ var status _C_int -+ wpid, err = wait4(pid, &status, options, rusage) -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys Shutdown(s int, how int) (err error) -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = SizeofSockaddrInet4 -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = SizeofSockaddrInet6 -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) || n == 0 { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Index == 0 { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = sa.Len -+ sa.raw.Family = AF_LINK -+ sa.raw.Index = sa.Index -+ sa.raw.Type = sa.Type -+ sa.raw.Nlen = sa.Nlen -+ sa.raw.Alen = sa.Alen -+ sa.raw.Slen = sa.Slen -+ for i := 0; i < len(sa.raw.Data); i++ { -+ sa.raw.Data[i] = sa.Data[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_LINK: -+ pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrDatalink) -+ sa.Len = pp.Len -+ sa.Family = pp.Family -+ sa.Index = pp.Index -+ sa.Type = pp.Type -+ sa.Nlen = pp.Nlen -+ sa.Alen = pp.Alen -+ sa.Slen = pp.Slen -+ for i := 0; i < len(sa.Data); i++ { -+ sa.Data[i] = pp.Data[i] -+ } -+ return sa, nil -+ -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { -+ return nil, EINVAL -+ } -+ sa := new(SockaddrUnix) -+ -+ // Some BSDs include the trailing NUL in the length, whereas -+ // others do not. Work around this by subtracting the leading -+ // family and len. The path is then scanned to see if a NUL -+ // terminator still exists within the length. -+ n := int(pp.Len) - 2 // subtract leading Family, Len -+ for i := 0; i < n; i++ { -+ if pp.Path[i] == 0 { -+ // found early NUL; assume Len included the NUL -+ // or was overestimating. -+ n = i -+ break -+ } -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if err != nil { -+ return -+ } -+ if runtime.GOOS == "darwin" && len == 0 { -+ // Accepted socket has no address. -+ // This is likely due to a bug in xnu kernels, -+ // where instead of ECONNABORTED error socket -+ // is accepted, but has no address. -+ Close(nfd) -+ return 0, nil, ECONNABORTED -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be -+ // reported upstream. -+ if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { -+ rsa.Addr.Family = AF_UNIX -+ rsa.Addr.Len = SizeofSockaddrUnix -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+ -+func GetsockoptByte(fd, level, opt int) (value byte, err error) { -+ var n byte -+ vallen := _Socklen(1) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) -+ return n, err -+} -+ -+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) -+ return value, err -+} -+ -+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { -+ var value IPMreq -+ vallen := _Socklen(SizeofIPMreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { -+ var value IPv6Mreq -+ vallen := _Socklen(SizeofIPv6Mreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { -+ var value IPv6MTUInfo -+ vallen := _Socklen(SizeofIPv6MTUInfo) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { -+ var value ICMPv6Filter -+ vallen := _Socklen(SizeofICMPv6Filter) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); err != nil { -+ return -+ } -+ oobn = int(msg.Controllen) -+ recvflags = int(msg.Flags) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) -+ -+func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { -+ var change, event unsafe.Pointer -+ if len(changes) > 0 { -+ change = unsafe.Pointer(&changes[0]) -+ } -+ if len(events) > 0 { -+ event = unsafe.Pointer(&events[0]) -+ } -+ return kevent(kq, change, len(changes), event, len(events), timeout) -+} -+ -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ -+// sysctlmib translates name to mib number and appends any additional args. -+func sysctlmib(name string, args ...int) ([]_C_int, error) { -+ // Translate name to mib number. -+ mib, err := nametomib(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ for _, a := range args { -+ mib = append(mib, _C_int(a)) -+ } -+ -+ return mib, nil -+} -+ -+func Sysctl(name string) (string, error) { -+ return SysctlArgs(name) -+} -+ -+func SysctlArgs(name string, args ...int) (string, error) { -+ buf, err := SysctlRaw(name, args...) -+ if err != nil { -+ return "", err -+ } -+ n := len(buf) -+ -+ // Throw away terminating NUL. -+ if n > 0 && buf[n-1] == '\x00' { -+ n-- -+ } -+ return string(buf[0:n]), nil -+} -+ -+func SysctlUint32(name string) (uint32, error) { -+ return SysctlUint32Args(name) -+} -+ -+func SysctlUint32Args(name string, args ...int) (uint32, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return 0, err -+ } -+ -+ n := uintptr(4) -+ buf := make([]byte, 4) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return 0, err -+ } -+ if n != 4 { -+ return 0, EIO -+ } -+ return *(*uint32)(unsafe.Pointer(&buf[0])), nil -+} -+ -+func SysctlUint64(name string, args ...int) (uint64, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return 0, err -+ } -+ -+ n := uintptr(8) -+ buf := make([]byte, 8) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return 0, err -+ } -+ if n != 8 { -+ return 0, EIO -+ } -+ return *(*uint64)(unsafe.Pointer(&buf[0])), nil -+} -+ -+func SysctlRaw(name string, args ...int) ([]byte, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Find size. -+ n := uintptr(0) -+ if err := sysctl(mib, nil, &n, nil, 0); err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Read into buffer of that size. -+ buf := make([]byte, n) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return nil, err -+ } -+ -+ // The actual call may return less than the original reported required -+ // size so ensure we deal with that. -+ return buf[:n], nil -+} -+ -+//sys utimes(path string, timeval *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) error { -+ if tv == nil { -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ return utimes(path, nil) -+ } -+ // TODO: The BSDs can do utimensat with SYS_UTIMENSAT but it -+ // isn't supported by darwin so this uses utimes instead -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ // Not as efficient as it could be because Timespec and -+ // Timeval have different types in the different OSes -+ tv := [2]Timeval{ -+ NsecToTimeval(TimespecToNsec(ts[0])), -+ NsecToTimeval(TimespecToNsec(ts[1])), -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys futimes(fd int, timeval *[2]Timeval) (err error) -+ -+func Futimes(fd int, tv []Timeval) error { -+ if tv == nil { -+ return futimes(fd, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+ -+// TODO: wrap -+// Acct(name nil-string) (err error) -+// Gethostuuid(uuid *byte, timeout *Timespec) (err error) -+// Madvise(addr *byte, len int, behav int) (err error) -+// Mprotect(addr *byte, len int, prot int) (err error) -+// Msync(addr *byte, len int, flags int) (err error) -+// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go -new file mode 100644 -index 0000000..7d91ac0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go -@@ -0,0 +1,493 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Darwin system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ errorspkg "errors" -+ "syscall" -+ "unsafe" -+) -+ -+const ImplementsGetwd = true -+ -+func Getwd() (string, error) { -+ buf := make([]byte, 2048) -+ attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) -+ if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { -+ wd := string(attrs[0]) -+ // Sanity check that it's an absolute path and ends -+ // in a null byte, which we then strip. -+ if wd[0] == '/' && wd[len(wd)-1] == 0 { -+ return wd[:len(wd)-1], nil -+ } -+ } -+ // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the -+ // slow algorithm. -+ return "", ENOTSUP -+} -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) -+func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } -+func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } -+ -+const ( -+ attrBitMapCount = 5 -+ attrCmnFullpath = 0x08000000 -+) -+ -+type attrList struct { -+ bitmapCount uint16 -+ _ uint16 -+ CommonAttr uint32 -+ VolAttr uint32 -+ DirAttr uint32 -+ FileAttr uint32 -+ Forkattr uint32 -+} -+ -+func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { -+ if len(attrBuf) < 4 { -+ return nil, errorspkg.New("attrBuf too small") -+ } -+ attrList.bitmapCount = attrBitMapCount -+ -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return nil, err -+ } -+ -+ _, _, e1 := Syscall6( -+ SYS_GETATTRLIST, -+ uintptr(unsafe.Pointer(_p0)), -+ uintptr(unsafe.Pointer(&attrList)), -+ uintptr(unsafe.Pointer(&attrBuf[0])), -+ uintptr(len(attrBuf)), -+ uintptr(options), -+ 0, -+ ) -+ if e1 != 0 { -+ return nil, e1 -+ } -+ size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) -+ -+ // dat is the section of attrBuf that contains valid data, -+ // without the 4 byte length header. All attribute offsets -+ // are relative to dat. -+ dat := attrBuf -+ if int(size) < len(attrBuf) { -+ dat = dat[:size] -+ } -+ dat = dat[4:] // remove length prefix -+ -+ for i := uint32(0); int(i) < len(dat); { -+ header := dat[i:] -+ if len(header) < 8 { -+ return attrs, errorspkg.New("truncated attribute header") -+ } -+ datOff := *(*int32)(unsafe.Pointer(&header[0])) -+ attrLen := *(*uint32)(unsafe.Pointer(&header[4])) -+ if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { -+ return attrs, errorspkg.New("truncated results; attrBuf too small") -+ } -+ end := uint32(datOff) + attrLen -+ attrs = append(attrs, dat[datOff:end]) -+ i = end -+ if r := i % 4; r != 0 { -+ i += (4 - r) -+ } -+ } -+ return -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Wrapped -+ */ -+ -+//sys kill(pid int, signum int, posix int) (err error) -+ -+func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exchangedata(path1 string, path2 string, options int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Getuid() (uid int) -+//sysnb Issetugid() (tainted bool) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sys Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sys Setprivexec(flag int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Mlock -+// Munlock -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// Mlockall -+// Munlockall -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// sendfile -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -new file mode 100644 -index 0000000..c172a3d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -@@ -0,0 +1,77 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = int32(sec) -+ tv.Usec = int32(usec) -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/386 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -new file mode 100644 -index 0000000..fc1e5a4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -@@ -0,0 +1,79 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = sec -+ tv.Usec = usec -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/amd64 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -new file mode 100644 -index 0000000..d286cf4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -@@ -0,0 +1,71 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = int32(sec) -+ tv.Usec = int32(usec) -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -new file mode 100644 -index 0000000..c33905c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -@@ -0,0 +1,77 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm64,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 16384 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = sec -+ tv.Usec = usec -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/arm64 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -new file mode 100644 -index 0000000..3363456 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -@@ -0,0 +1,402 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// FreeBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import "unsafe" -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ Rcf uint16 -+ Route [16]uint16 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ namlen, ok := direntNamlen(buf) -+ if !ok { -+ return 0, false -+ } -+ return (16 + namlen + 1 + 7) & ^7, true -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ return extpread(fd, p, 0, offset) -+} -+ -+//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ return extpwrite(fd, p, 0, offset) -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ * TODO(jsing): Update this list for DragonFly. -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -new file mode 100644 -index 0000000..da7cb79 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -new file mode 100644 -index 0000000..077d1f3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -@@ -0,0 +1,666 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// FreeBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import "unsafe" -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { -+ var value IPMreqn -+ vallen := _Socklen(SizeofIPMreqn) -+ errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, errno -+} -+ -+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -+} -+ -+func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept4(fd, &rsa, &len, flags) -+ if err != nil { -+ return -+ } -+ if len > SizeofSockaddrAny { -+ panic("RawSockaddrAny too small") -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+// Derive extattr namespace and attribute name -+ -+func xattrnamespace(fullattr string) (ns int, attr string, err error) { -+ s := -1 -+ for idx, val := range fullattr { -+ if val == '.' { -+ s = idx -+ break -+ } -+ } -+ -+ if s == -1 { -+ return -1, "", ENOATTR -+ } -+ -+ namespace := fullattr[0:s] -+ attr = fullattr[s+1:] -+ -+ switch namespace { -+ case "user": -+ return EXTATTR_NAMESPACE_USER, attr, nil -+ case "system": -+ return EXTATTR_NAMESPACE_SYSTEM, attr, nil -+ default: -+ return -1, "", ENOATTR -+ } -+} -+ -+func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { -+ if len(dest) > idx { -+ return unsafe.Pointer(&dest[idx]) -+ } else { -+ return unsafe.Pointer(_zero) -+ } -+} -+ -+// FreeBSD implements its own syscalls to handle extended attributes -+ -+func Getxattr(file string, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) -+} -+ -+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) -+} -+ -+func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) -+} -+ -+// flags are unused on FreeBSD -+ -+func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Setxattr(file string, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Removexattr(file string, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteFile(file, nsid, a) -+ return -+} -+ -+func Fremovexattr(fd int, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteFd(fd, nsid, a) -+ return -+} -+ -+func Lremovexattr(link string, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteLink(link, nsid, a) -+ return -+} -+ -+func Listxattr(file string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ // FreeBSD won't allow you to list xattrs from multiple namespaces -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) -+ -+ /* Errors accessing system attrs are ignored so that -+ * we can implement the Linux-like behavior of omitting errors that -+ * we don't have read permissions on -+ * -+ * Linux will still error if we ask for user attributes on a file that -+ * we don't have read permissions on, so don't ignore those errors -+ */ -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+func Flistxattr(fd int, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+func Llistxattr(link string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) -+//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) -+//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) -+//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) -+ -+/* -+ * Unimplemented -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Mlock -+// Munlock -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// Mlockall -+// Munlockall -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -new file mode 100644 -index 0000000..6a0cd80 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -new file mode 100644 -index 0000000..e142540 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -new file mode 100644 -index 0000000..5504cb1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -@@ -0,0 +1,61 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = nsec / 1e9 -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go -new file mode 100644 -index 0000000..b43425c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go -@@ -0,0 +1,1290 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Linux system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and -+// wrap it in our own nicer implementation. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+/* -+ * Wrapped -+ */ -+ -+func Access(path string, mode uint32) (err error) { -+ return Faccessat(AT_FDCWD, path, mode, 0) -+} -+ -+func Chmod(path string, mode uint32) (err error) { -+ return Fchmodat(AT_FDCWD, path, mode, 0) -+} -+ -+func Chown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, 0) -+} -+ -+func Creat(path string, mode uint32) (fd int, err error) { -+ return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) -+} -+ -+//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) -+ -+func Link(oldpath string, newpath string) (err error) { -+ return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) -+} -+ -+func Mkdir(path string, mode uint32) (err error) { -+ return Mkdirat(AT_FDCWD, path, mode) -+} -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ return Mknodat(AT_FDCWD, path, mode, dev) -+} -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) -+} -+ -+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) -+ -+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ return openat(dirfd, path, flags|O_LARGEFILE, mode) -+} -+ -+//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) -+ -+func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ if len(fds) == 0 { -+ return ppoll(nil, 0, timeout, sigmask) -+ } -+ return ppoll(&fds[0], len(fds), timeout, sigmask) -+} -+ -+//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ return Readlinkat(AT_FDCWD, path, buf) -+} -+ -+func Rename(oldpath string, newpath string) (err error) { -+ return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) -+} -+ -+func Rmdir(path string) error { -+ return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) -+} -+ -+//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) -+ -+func Symlink(oldpath string, newpath string) (err error) { -+ return Symlinkat(oldpath, AT_FDCWD, newpath) -+} -+ -+func Unlink(path string) error { -+ return Unlinkat(AT_FDCWD, path, 0) -+} -+ -+//sys Unlinkat(dirfd int, path string, flags int) (err error) -+ -+//sys utimes(path string, times *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) error { -+ if tv == nil { -+ err := utimensat(AT_FDCWD, path, nil, 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ var ts [2]Timespec -+ ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) -+ ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) -+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ err := utimensat(AT_FDCWD, path, nil, 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, nil) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+ if err != ENOSYS { -+ return err -+ } -+ // If the utimensat syscall isn't available (utimensat was added to Linux -+ // in 2.6.22, Released, 8 July 2007) then fall back to utimes -+ var tv [2]Timeval -+ for i := 0; i < 2; i++ { -+ tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { -+ if ts == nil { -+ return utimensat(dirfd, path, nil, flags) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -+} -+ -+//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) -+ -+func Futimesat(dirfd int, path string, tv []Timeval) error { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ if tv == nil { -+ return futimesat(dirfd, pathp, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func Futimes(fd int, tv []Timeval) (err error) { -+ // Believe it or not, this is the best we can do on Linux -+ // (and is what glibc does). -+ return Utimes("/proc/self/fd/"+itoa(fd), tv) -+} -+ -+const ImplementsGetwd = true -+ -+//sys Getcwd(buf []byte) (n int, err error) -+ -+func Getwd() (wd string, err error) { -+ var buf [PathMax]byte -+ n, err := Getcwd(buf[0:]) -+ if err != nil { -+ return "", err -+ } -+ // Getcwd returns the number of bytes written to buf, including the NUL. -+ if n < 1 || n > len(buf) || buf[n-1] != 0 { -+ return "", EINVAL -+ } -+ return string(buf[0 : n-1]), nil -+} -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ if err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Sanity check group count. Max is 1<<16 on Linux. -+ if n < 0 || n > 1<<20 { -+ return nil, EINVAL -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if err != nil { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+type WaitStatus uint32 -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. At least that's the idea. -+// There are various irregularities. For example, the -+// "continued" status is 0xFFFF, distinguishing itself -+// from stopped via the core dump bit. -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ exited = 0x00 -+ stopped = 0x7F -+ shift = 8 -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } -+ -+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } -+ -+func (w WaitStatus) Continued() bool { return w == 0xFFFF } -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) ExitStatus() int { -+ if !w.Exited() { -+ return -1 -+ } -+ return int(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ if !w.Signaled() { -+ return -1 -+ } -+ return syscall.Signal(w & mask) -+} -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { -+ if w.StopSignal() != SIGTRAP { -+ return -1 -+ } -+ return int(w>>shift) >> 8 -+} -+ -+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { -+ var status _C_int -+ wpid, err = wait4(pid, &status, options, rusage) -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return -+} -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ return Mknod(path, mode|S_IFIFO, 0) -+} -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ // length is family (uint16), name, NUL. -+ sl := _Socklen(2) -+ if n > 0 { -+ sl += _Socklen(n) + 1 -+ } -+ if sa.raw.Path[0] == '@' { -+ sa.raw.Path[0] = 0 -+ // Don't count trailing NUL for abstract address. -+ sl-- -+ } -+ -+ return unsafe.Pointer(&sa.raw), sl, nil -+} -+ -+type SockaddrLinklayer struct { -+ Protocol uint16 -+ Ifindex int -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]byte -+ raw RawSockaddrLinklayer -+} -+ -+func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_PACKET -+ sa.raw.Protocol = sa.Protocol -+ sa.raw.Ifindex = int32(sa.Ifindex) -+ sa.raw.Hatype = sa.Hatype -+ sa.raw.Pkttype = sa.Pkttype -+ sa.raw.Halen = sa.Halen -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil -+} -+ -+type SockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+ raw RawSockaddrNetlink -+} -+ -+func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_NETLINK -+ sa.raw.Pad = sa.Pad -+ sa.raw.Pid = sa.Pid -+ sa.raw.Groups = sa.Groups -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil -+} -+ -+type SockaddrHCI struct { -+ Dev uint16 -+ Channel uint16 -+ raw RawSockaddrHCI -+} -+ -+func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_BLUETOOTH -+ sa.raw.Dev = sa.Dev -+ sa.raw.Channel = sa.Channel -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil -+} -+ -+// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. -+// The RxID and TxID fields are used for transport protocol addressing in -+// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with -+// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. -+// -+// The SockaddrCAN struct must be bound to the socket file descriptor -+// using Bind before the CAN socket can be used. -+// -+// // Read one raw CAN frame -+// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) -+// addr := &SockaddrCAN{Ifindex: index} -+// Bind(fd, addr) -+// frame := make([]byte, 16) -+// Read(fd, frame) -+// -+// The full SocketCAN documentation can be found in the linux kernel -+// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt -+type SockaddrCAN struct { -+ Ifindex int -+ RxID uint32 -+ TxID uint32 -+ raw RawSockaddrCAN -+} -+ -+func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_CAN -+ sa.raw.Ifindex = int32(sa.Ifindex) -+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) -+ for i := 0; i < 4; i++ { -+ sa.raw.Addr[i] = rx[i] -+ } -+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) -+ for i := 0; i < 4; i++ { -+ sa.raw.Addr[i+4] = tx[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil -+} -+ -+// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. -+// SockaddrALG enables userspace access to the Linux kernel's cryptography -+// subsystem. The Type and Name fields specify which type of hash or cipher -+// should be used with a given socket. -+// -+// To create a file descriptor that provides access to a hash or cipher, both -+// Bind and Accept must be used. Once the setup process is complete, input -+// data can be written to the socket, processed by the kernel, and then read -+// back as hash output or ciphertext. -+// -+// Here is an example of using an AF_ALG socket with SHA1 hashing. -+// The initial socket setup process is as follows: -+// -+// // Open a socket to perform SHA1 hashing. -+// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) -+// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} -+// unix.Bind(fd, addr) -+// // Note: unix.Accept does not work at this time; must invoke accept() -+// // manually using unix.Syscall. -+// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) -+// -+// Once a file descriptor has been returned from Accept, it may be used to -+// perform SHA1 hashing. The descriptor is not safe for concurrent use, but -+// may be re-used repeatedly with subsequent Write and Read operations. -+// -+// When hashing a small byte slice or string, a single Write and Read may -+// be used: -+// -+// // Assume hashfd is already configured using the setup process. -+// hash := os.NewFile(hashfd, "sha1") -+// // Hash an input string and read the results. Each Write discards -+// // previous hash state. Read always reads the current state. -+// b := make([]byte, 20) -+// for i := 0; i < 2; i++ { -+// io.WriteString(hash, "Hello, world.") -+// hash.Read(b) -+// fmt.Println(hex.EncodeToString(b)) -+// } -+// // Output: -+// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -+// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -+// -+// For hashing larger byte slices, or byte streams such as those read from -+// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update -+// the hash digest instead of creating a new one for a given chunk and finalizing it. -+// -+// // Assume hashfd and addr are already configured using the setup process. -+// hash := os.NewFile(hashfd, "sha1") -+// // Hash the contents of a file. -+// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") -+// b := make([]byte, 4096) -+// for { -+// n, err := f.Read(b) -+// if err == io.EOF { -+// break -+// } -+// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) -+// } -+// hash.Read(b) -+// fmt.Println(hex.EncodeToString(b)) -+// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 -+// -+// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. -+type SockaddrALG struct { -+ Type string -+ Name string -+ Feature uint32 -+ Mask uint32 -+ raw RawSockaddrALG -+} -+ -+func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ // Leave room for NUL byte terminator. -+ if len(sa.Type) > 13 { -+ return nil, 0, EINVAL -+ } -+ if len(sa.Name) > 63 { -+ return nil, 0, EINVAL -+ } -+ -+ sa.raw.Family = AF_ALG -+ sa.raw.Feat = sa.Feature -+ sa.raw.Mask = sa.Mask -+ -+ typ, err := ByteSliceFromString(sa.Type) -+ if err != nil { -+ return nil, 0, err -+ } -+ name, err := ByteSliceFromString(sa.Name) -+ if err != nil { -+ return nil, 0, err -+ } -+ -+ copy(sa.raw.Type[:], typ) -+ copy(sa.raw.Name[:], name) -+ -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil -+} -+ -+// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. -+// SockaddrVM provides access to Linux VM sockets: a mechanism that enables -+// bidirectional communication between a hypervisor and its guest virtual -+// machines. -+type SockaddrVM struct { -+ // CID and Port specify a context ID and port address for a VM socket. -+ // Guests have a unique CID, and hosts may have a well-known CID of: -+ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. -+ // - VMADDR_CID_HOST: refers to other processes on the host. -+ CID uint32 -+ Port uint32 -+ raw RawSockaddrVM -+} -+ -+func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_VSOCK -+ sa.raw.Port = sa.Port -+ sa.raw.Cid = sa.CID -+ -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_NETLINK: -+ pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrNetlink) -+ sa.Family = pp.Family -+ sa.Pad = pp.Pad -+ sa.Pid = pp.Pid -+ sa.Groups = pp.Groups -+ return sa, nil -+ -+ case AF_PACKET: -+ pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrLinklayer) -+ sa.Protocol = pp.Protocol -+ sa.Ifindex = int(pp.Ifindex) -+ sa.Hatype = pp.Hatype -+ sa.Pkttype = pp.Pkttype -+ sa.Halen = pp.Halen -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrUnix) -+ if pp.Path[0] == 0 { -+ // "Abstract" Unix domain socket. -+ // Rewrite leading NUL as @ for textual display. -+ // (This is the standard convention.) -+ // Not friendly to overwrite in place, -+ // but the callers below don't care. -+ pp.Path[0] = '@' -+ } -+ -+ // Assume path ends at NUL. -+ // This is not technically the Linux semantics for -+ // abstract Unix domain sockets--they are supposed -+ // to be uninterpreted fixed-size binary blobs--but -+ // everyone uses this convention. -+ n := 0 -+ for n < len(pp.Path) && pp.Path[n] != 0 { -+ n++ -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_VSOCK: -+ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) -+ sa := &SockaddrVM{ -+ CID: pp.Cid, -+ Port: pp.Port, -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if err != nil { -+ return -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept4(fd, &rsa, &len, flags) -+ if err != nil { -+ return -+ } -+ if len > SizeofSockaddrAny { -+ panic("RawSockaddrAny too small") -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) -+ return value, err -+} -+ -+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { -+ var value IPMreq -+ vallen := _Socklen(SizeofIPMreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { -+ var value IPMreqn -+ vallen := _Socklen(SizeofIPMreqn) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { -+ var value IPv6Mreq -+ vallen := _Socklen(SizeofIPv6Mreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { -+ var value IPv6MTUInfo -+ vallen := _Socklen(SizeofIPv6MTUInfo) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { -+ var value ICMPv6Filter -+ vallen := _Socklen(SizeofICMPv6Filter) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { -+ var value Ucred -+ vallen := _Socklen(SizeofUcred) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -+} -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); err != nil { -+ return -+ } -+ oobn = int(msg.Controllen) -+ recvflags = int(msg.Flags) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ var err error -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+// BindToDevice binds the socket associated with fd to device. -+func BindToDevice(fd int, device string) (err error) { -+ return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) -+} -+ -+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) -+ -+func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { -+ // The peek requests are machine-size oriented, so we wrap it -+ // to retrieve arbitrary-length data. -+ -+ // The ptrace syscall differs from glibc's ptrace. -+ // Peeks returns the word in *data, not as the return value. -+ -+ var buf [sizeofPtr]byte -+ -+ // Leading edge. PEEKTEXT/PEEKDATA don't require aligned -+ // access (PEEKUSER warns that it might), but if we don't -+ // align our reads, we might straddle an unmapped page -+ // boundary and not get the bytes leading up to the page -+ // boundary. -+ n := 0 -+ if addr%sizeofPtr != 0 { -+ err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return 0, err -+ } -+ n += copy(out, buf[addr%sizeofPtr:]) -+ out = out[n:] -+ } -+ -+ // Remainder. -+ for len(out) > 0 { -+ // We use an internal buffer to guarantee alignment. -+ // It's not documented if this is necessary, but we're paranoid. -+ err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return n, err -+ } -+ copied := copy(out, buf[0:]) -+ n += copied -+ out = out[copied:] -+ } -+ -+ return n, nil -+} -+ -+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) -+} -+ -+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) -+} -+ -+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) -+} -+ -+func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { -+ // As for ptracePeek, we need to align our accesses to deal -+ // with the possibility of straddling an invalid page. -+ -+ // Leading edge. -+ n := 0 -+ if addr%sizeofPtr != 0 { -+ var buf [sizeofPtr]byte -+ err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return 0, err -+ } -+ n += copy(buf[addr%sizeofPtr:], data) -+ word := *((*uintptr)(unsafe.Pointer(&buf[0]))) -+ err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word) -+ if err != nil { -+ return 0, err -+ } -+ data = data[n:] -+ } -+ -+ // Interior. -+ for len(data) > sizeofPtr { -+ word := *((*uintptr)(unsafe.Pointer(&data[0]))) -+ err = ptrace(pokeReq, pid, addr+uintptr(n), word) -+ if err != nil { -+ return n, err -+ } -+ n += sizeofPtr -+ data = data[sizeofPtr:] -+ } -+ -+ // Trailing edge. -+ if len(data) > 0 { -+ var buf [sizeofPtr]byte -+ err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return n, err -+ } -+ copy(buf[0:], data) -+ word := *((*uintptr)(unsafe.Pointer(&buf[0]))) -+ err = ptrace(pokeReq, pid, addr+uintptr(n), word) -+ if err != nil { -+ return n, err -+ } -+ n += len(data) -+ } -+ -+ return n, nil -+} -+ -+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { -+ return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) -+} -+ -+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { -+ return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) -+} -+ -+func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { -+ return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) -+} -+ -+func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { -+ return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) -+} -+ -+func PtraceSetOptions(pid int, options int) (err error) { -+ return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) -+} -+ -+func PtraceGetEventMsg(pid int) (msg uint, err error) { -+ var data _C_long -+ err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) -+ msg = uint(data) -+ return -+} -+ -+func PtraceCont(pid int, signal int) (err error) { -+ return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) -+} -+ -+func PtraceSyscall(pid int, signal int) (err error) { -+ return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) -+} -+ -+func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } -+ -+func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } -+ -+func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } -+ -+//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) -+ -+func Reboot(cmd int) (err error) { -+ return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ return Getdents(fd, buf) -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ reclen, ok := direntReclen(buf) -+ if !ok { -+ return 0, false -+ } -+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -+} -+ -+//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) -+ -+func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { -+ // Certain file systems get rather angry and EINVAL if you give -+ // them an empty string of data, rather than NULL. -+ if data == "" { -+ return mount(source, target, fstype, flags, nil) -+ } -+ datap, err := BytePtrFromString(data) -+ if err != nil { -+ return err -+ } -+ return mount(source, target, fstype, flags, datap) -+} -+ -+// Sendto -+// Recvfrom -+// Socketpair -+ -+/* -+ * Direct access -+ */ -+//sys Acct(path string) (err error) -+//sys Adjtimex(buf *Timex) (state int, err error) -+//sys Chdir(path string) (err error) -+//sys Chroot(path string) (err error) -+//sys ClockGettime(clockid int32, time *Timespec) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(oldfd int) (fd int, err error) -+//sys Dup3(oldfd int, newfd int, flags int) (err error) -+//sysnb EpollCreate(size int) (fd int, err error) -+//sysnb EpollCreate1(flag int) (fd int, err error) -+//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) -+//sys Exit(code int) = SYS_EXIT_GROUP -+//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) -+//sys Fchdir(fd int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+//sys Fdatasync(fd int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fsync(fd int) (err error) -+//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 -+//sysnb Getpgid(pid int) (pgid int, err error) -+ -+func Getpgrp() (pid int) { -+ pid, _ = Getpgid(0) -+ return -+} -+ -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sys Getrandom(buf []byte, flags int) (n int, err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettid() (tid int) -+//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) -+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) -+//sysnb InotifyInit1(flags int) (fd int, err error) -+//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) -+//sysnb Kill(pid int, sig syscall.Signal) (err error) -+//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG -+//sys Listxattr(path string, dest []byte) (sz int, err error) -+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT -+//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 -+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Removexattr(path string, attr string) (err error) -+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -+//sys Setdomainname(p []byte) (err error) -+//sys Sethostname(p []byte) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tv *Timeval) (err error) -+//sys Setns(fd int, nstype int) (err error) -+ -+// issue 1435. -+// On linux Setuid and Setgid only affects the current thread, not the process. -+// This does not match what most callers expect so we must return an error -+// here rather than letting the caller think that the call succeeded. -+ -+func Setuid(uid int) (err error) { -+ return EOPNOTSUPP -+} -+ -+func Setgid(uid int) (err error) { -+ return EOPNOTSUPP -+} -+ -+//sys Setpriority(which int, who int, prio int) (err error) -+//sys Setxattr(path string, attr string, data []byte, flags int) (err error) -+//sys Sync() -+//sysnb Sysinfo(info *Sysinfo_t) (err error) -+//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) -+//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) -+//sysnb Times(tms *Tms) (ticks uintptr, err error) -+//sysnb Umask(mask int) (oldmask int) -+//sysnb Uname(buf *Utsname) (err error) -+//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 -+//sys Unshare(flags int) (err error) -+//sys Ustat(dev int, ubuf *Ustat_t) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys exitThread(code int) (err error) = SYS_EXIT -+//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ -+//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE -+ -+// mmap varies by architecture; see syscall_linux_*.go. -+//sys munmap(addr uintptr, length uintptr) (err error) -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -+ -+//sys Madvise(b []byte, advice int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Munlockall() (err error) -+ -+// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, -+// using the specified flags. -+func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { -+ n, _, errno := Syscall6( -+ SYS_VMSPLICE, -+ uintptr(fd), -+ uintptr(unsafe.Pointer(&iovs[0])), -+ uintptr(len(iovs)), -+ uintptr(flags), -+ 0, -+ 0, -+ ) -+ if errno != 0 { -+ return 0, syscall.Errno(errno) -+ } -+ -+ return int(n), nil -+} -+ -+/* -+ * Unimplemented -+ */ -+// AddKey -+// AfsSyscall -+// Alarm -+// ArchPrctl -+// Brk -+// Capget -+// Capset -+// ClockGetres -+// ClockNanosleep -+// ClockSettime -+// Clone -+// CreateModule -+// DeleteModule -+// EpollCtlOld -+// EpollPwait -+// EpollWaitOld -+// Eventfd -+// Execve -+// Fgetxattr -+// Flistxattr -+// Fork -+// Fremovexattr -+// Fsetxattr -+// Futex -+// GetKernelSyms -+// GetMempolicy -+// GetRobustList -+// GetThreadArea -+// Getitimer -+// Getpmsg -+// IoCancel -+// IoDestroy -+// IoGetevents -+// IoSetup -+// IoSubmit -+// Ioctl -+// IoprioGet -+// IoprioSet -+// KexecLoad -+// Keyctl -+// Lgetxattr -+// Llistxattr -+// LookupDcookie -+// Lremovexattr -+// Lsetxattr -+// Mbind -+// MigratePages -+// Mincore -+// ModifyLdt -+// Mount -+// MovePages -+// Mprotect -+// MqGetsetattr -+// MqNotify -+// MqOpen -+// MqTimedreceive -+// MqTimedsend -+// MqUnlink -+// Mremap -+// Msgctl -+// Msgget -+// Msgrcv -+// Msgsnd -+// Msync -+// Newfstatat -+// Nfsservctl -+// Personality -+// Pselect6 -+// Ptrace -+// Putpmsg -+// QueryModule -+// Quotactl -+// Readahead -+// Readv -+// RemapFilePages -+// RequestKey -+// RestartSyscall -+// RtSigaction -+// RtSigpending -+// RtSigprocmask -+// RtSigqueueinfo -+// RtSigreturn -+// RtSigsuspend -+// RtSigtimedwait -+// SchedGetPriorityMax -+// SchedGetPriorityMin -+// SchedGetaffinity -+// SchedGetparam -+// SchedGetscheduler -+// SchedRrGetInterval -+// SchedSetaffinity -+// SchedSetparam -+// SchedYield -+// Security -+// Semctl -+// Semget -+// Semop -+// Semtimedop -+// SetMempolicy -+// SetRobustList -+// SetThreadArea -+// SetTidAddress -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Sigaltstack -+// Signalfd -+// Swapoff -+// Swapon -+// Sysfs -+// TimerCreate -+// TimerDelete -+// TimerGetoverrun -+// TimerGettime -+// TimerSettime -+// Timerfd -+// Tkill (obsolete) -+// Tuxcall -+// Umount2 -+// Uselib -+// Utimensat -+// Vfork -+// Vhangup -+// Vserver -+// Waitid -+// _Sysctl -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -new file mode 100644 -index 0000000..2b881b9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -@@ -0,0 +1,399 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) -+// so that go vet can check that they are correct. -+ -+// +build 386,linux -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+// 64-bit file system and 32-bit uid calls -+// (386 default is 32-bit file system and 16-bit uid). -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 -+//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+//sysnb Getegid() (egid int) = SYS_GETEGID32 -+//sysnb Geteuid() (euid int) = SYS_GETEUID32 -+//sysnb Getgid() (gid int) = SYS_GETGID32 -+//sysnb Getuid() (uid int) = SYS_GETUID32 -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -+//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -+//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+// Underlying system call writes to newoffset via pointer. -+// Implemented in assembly to avoid allocation. -+func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ newoffset, errno := seek(fd, offset, whence) -+ if errno != 0 { -+ return 0, errno -+ } -+ return newoffset, nil -+} -+ -+// Vsyscalls on amd64. -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+// On x86 Linux, all the socket calls go through an extra indirection, -+// I think because the 5-register system call interface can't handle -+// the 6-argument calls like sendto and recvfrom. Instead the -+// arguments to the underlying system call are the number below -+// and a pointer to an array of uintptr. We hide the pointer in the -+// socketcall assembly to avoid allocation on every system call. -+ -+const ( -+ // see linux/net.h -+ _SOCKET = 1 -+ _BIND = 2 -+ _CONNECT = 3 -+ _LISTEN = 4 -+ _ACCEPT = 5 -+ _GETSOCKNAME = 6 -+ _GETPEERNAME = 7 -+ _SOCKETPAIR = 8 -+ _SEND = 9 -+ _RECV = 10 -+ _SENDTO = 11 -+ _RECVFROM = 12 -+ _SHUTDOWN = 13 -+ _SETSOCKOPT = 14 -+ _GETSOCKOPT = 15 -+ _SENDMSG = 16 -+ _RECVMSG = 17 -+ _ACCEPT4 = 18 -+ _RECVMMSG = 19 -+ _SENDMMSG = 20 -+) -+ -+func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) -+func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { -+ _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Listen(s int, n int) (err error) { -+ _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Shutdown(s, how int) (err error) { -+ _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -new file mode 100644 -index 0000000..9516a3f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -@@ -0,0 +1,152 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,linux -+ -+package unix -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ errno := gettimeofday(tv) -+ if errno != 0 { -+ return errno -+ } -+ return nil -+} -+ -+func Getpagesize() int { return 4096 } -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ errno := gettimeofday(&tv) -+ if errno != 0 { -+ return 0, errno -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Rip } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go -new file mode 100644 -index 0000000..21a4946 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go -@@ -0,0 +1,13 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,linux -+// +build !gccgo -+ -+package unix -+ -+import "syscall" -+ -+//go:noescape -+func gettimeofday(tv *Timeval) (err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -new file mode 100644 -index 0000000..71d8702 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -@@ -0,0 +1,263 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,linux -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+// Underlying system call writes to newoffset via pointer. -+// Implemented in assembly to avoid allocation. -+func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ newoffset, errno := seek(fd, offset, whence) -+ if errno != 0 { -+ return 0, errno -+ } -+ return newoffset, nil -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -+//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+// 64-bit file system and 32-bit uid calls -+// (16-bit uid calls are not always supported in newer kernels) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sysnb Getegid() (egid int) = SYS_GETEGID32 -+//sysnb Geteuid() (euid int) = SYS_GETEUID32 -+//sysnb Getgid() (gid int) = SYS_GETGID32 -+//sysnb Getuid() (uid int) = SYS_GETUID32 -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -+//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+ -+// Vsyscalls on amd64. -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -new file mode 100644 -index 0000000..4a13639 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -@@ -0,0 +1,190 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm64,linux -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, 0) -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) -+} -+ -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Pc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+func InotifyInit() (fd int, err error) { -+ return InotifyInit1(0) -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ return Dup3(oldfd, newfd, 0) -+} -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove -+// these when the deprecated syscalls that the syscall package relies on -+// are removed. -+const ( -+ SYS_GETPGRP = 1060 -+ SYS_UTIMES = 1037 -+ SYS_FUTIMESAT = 1066 -+ SYS_PAUSE = 1061 -+ SYS_USTAT = 1070 -+ SYS_UTIME = 1063 -+ SYS_LCHOWN = 1032 -+ SYS_TIME = 1062 -+ SYS_EPOLL_CREATE = 1042 -+ SYS_EPOLL_WAIT = 1069 -+) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ var ts *Timespec -+ if timeout >= 0 { -+ ts = new(Timespec) -+ *ts = NsecToTimespec(int64(timeout) * 1e6) -+ } -+ if len(fds) == 0 { -+ return ppoll(nil, 0, ts, nil) -+ } -+ return ppoll(&fds[0], len(fds), ts, nil) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -new file mode 100644 -index 0000000..8119fde ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -@@ -0,0 +1,208 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips64 mips64le -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+type stat_t struct { -+ Dev uint32 -+ Pad0 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad1 [3]uint32 -+ Size int64 -+ Atime uint32 -+ Atime_nsec uint32 -+ Mtime uint32 -+ Mtime_nsec uint32 -+ Ctime uint32 -+ Ctime_nsec uint32 -+ Blksize uint32 -+ Pad2 uint32 -+ Blocks int64 -+} -+ -+//sys fstat(fd int, st *stat_t) (err error) -+//sys lstat(path string, st *stat_t) (err error) -+//sys stat(path string, st *stat_t) (err error) -+ -+func Fstat(fd int, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = fstat(fd, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func Lstat(path string, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = lstat(path, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func Stat(path string, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = stat(path, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func fillStat_t(s *Stat_t, st *stat_t) { -+ s.Dev = st.Dev -+ s.Ino = st.Ino -+ s.Mode = st.Mode -+ s.Nlink = st.Nlink -+ s.Uid = st.Uid -+ s.Gid = st.Gid -+ s.Rdev = st.Rdev -+ s.Size = st.Size -+ s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} -+ s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} -+ s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} -+ s.Blksize = st.Blksize -+ s.Blocks = st.Blocks -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Regs[64] } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -new file mode 100644 -index 0000000..be77d24 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -@@ -0,0 +1,239 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips mipsle -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getuid() (uid int) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+ -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ p, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(r.Regs[64]) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = uint32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -+ -+func Getpagesize() int { return 4096 } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -new file mode 100644 -index 0000000..60770f6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -@@ -0,0 +1,135 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build ppc64 ppc64le -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2 -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Nip } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -new file mode 100644 -index 0000000..1708a4b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -@@ -0,0 +1,328 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build s390x,linux -+ -+package unix -+ -+import ( -+ "unsafe" -+) -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+ -+func Getpagesize() int { return 4096 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. -+// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} -+ r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// On s390x Linux, all the socket calls go through an extra indirection. -+// The arguments to the underlying system call (SYS_SOCKETCALL) are the -+// number below and a pointer to an array of uintptr. -+const ( -+ // see linux/net.h -+ netSocket = 1 -+ netBind = 2 -+ netConnect = 3 -+ netListen = 4 -+ netAccept = 5 -+ netGetSockName = 6 -+ netGetPeerName = 7 -+ netSocketPair = 8 -+ netSend = 9 -+ netRecv = 10 -+ netSendTo = 11 -+ netRecvFrom = 12 -+ netShutdown = 13 -+ netSetSockOpt = 14 -+ netGetSockOpt = 15 -+ netSendMsg = 16 -+ netRecvMsg = 17 -+ netAccept4 = 18 -+ netRecvMMsg = 19 -+ netSendMMsg = 20 -+) -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { -+ args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} -+ fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) error { -+ args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func socket(domain int, typ int, proto int) (int, error) { -+ args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} -+ fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { -+ args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} -+ _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { -+ args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} -+ n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} -+ n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} -+ n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func Listen(s int, n int) error { -+ args := [2]uintptr{uintptr(s), uintptr(n)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func Shutdown(s, how int) error { -+ args := [2]uintptr{uintptr(s), uintptr(how)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -new file mode 100644 -index 0000000..20b7454 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -@@ -0,0 +1,169 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build sparc64,linux -+ -+package unix -+ -+import ( -+ "sync/atomic" -+ "syscall" -+) -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func sysconf(name int) (n int64, err syscall.Errno) -+ -+// pageSize caches the value of Getpagesize, since it can't change -+// once the system is booted. -+var pageSize int64 // accessed atomically -+ -+func Getpagesize() int { -+ n := atomic.LoadInt64(&pageSize) -+ if n == 0 { -+ n, _ = sysconf(_SC_PAGESIZE) -+ atomic.StoreInt64(&pageSize, n) -+ } -+ return int(n) -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Tpc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -new file mode 100644 -index 0000000..01f6a48 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -@@ -0,0 +1,476 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// NetBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ raw RawSockaddrDatalink -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { -+ var olen uintptr -+ -+ // Get a list of all sysctl nodes below the given MIB by performing -+ // a sysctl for the given MIB with CTL_QUERY appended. -+ mib = append(mib, CTL_QUERY) -+ qnode := Sysctlnode{Flags: SYSCTL_VERS_1} -+ qp := (*byte)(unsafe.Pointer(&qnode)) -+ sz := unsafe.Sizeof(qnode) -+ if err = sysctl(mib, nil, &olen, qp, sz); err != nil { -+ return nil, err -+ } -+ -+ // Now that we know the size, get the actual nodes. -+ nodes = make([]Sysctlnode, olen/sz) -+ np := (*byte)(unsafe.Pointer(&nodes[0])) -+ if err = sysctl(mib, np, &olen, qp, sz); err != nil { -+ return nil, err -+ } -+ -+ return nodes, nil -+} -+ -+func nametomib(name string) (mib []_C_int, err error) { -+ -+ // Split name into components. -+ var parts []string -+ last := 0 -+ for i := 0; i < len(name); i++ { -+ if name[i] == '.' { -+ parts = append(parts, name[last:i]) -+ last = i + 1 -+ } -+ } -+ parts = append(parts, name[last:]) -+ -+ // Discover the nodes and construct the MIB OID. -+ for partno, part := range parts { -+ nodes, err := sysctlNodes(mib) -+ if err != nil { -+ return nil, err -+ } -+ for _, node := range nodes { -+ n := make([]byte, 0) -+ for i := range node.Name { -+ if node.Name[i] != 0 { -+ n = append(n, byte(node.Name[i])) -+ } -+ } -+ if string(n) == part { -+ mib = append(mib, _C_int(node.Num)) -+ break -+ } -+ } -+ if len(mib) != partno+1 { -+ return nil, EINVAL -+ } -+ } -+ -+ return mib, nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (fd1 int, fd2 int, err error) -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+//sys getdents(fd int, buf []byte) (n int, err error) -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ return getdents(fd, buf) -+} -+ -+// TODO -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ return -1, ENOSYS -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// ____semctl13 -+// __clone -+// __fhopen40 -+// __fhstat40 -+// __fhstatvfs140 -+// __fstat30 -+// __getcwd -+// __getfh30 -+// __getlogin -+// __lstat30 -+// __mount50 -+// __msgctl13 -+// __msync13 -+// __ntp_gettime30 -+// __posix_chown -+// __posix_fadvise50 -+// __posix_fchown -+// __posix_lchown -+// __posix_rename -+// __setlogin -+// __shmctl13 -+// __sigaction_sigtramp -+// __sigaltstack14 -+// __sigpending14 -+// __sigprocmask14 -+// __sigsuspend14 -+// __sigtimedwait -+// __stat30 -+// __syscall -+// __vfork14 -+// _ksem_close -+// _ksem_destroy -+// _ksem_getvalue -+// _ksem_init -+// _ksem_open -+// _ksem_post -+// _ksem_trywait -+// _ksem_unlink -+// _ksem_wait -+// _lwp_continue -+// _lwp_create -+// _lwp_ctl -+// _lwp_detach -+// _lwp_exit -+// _lwp_getname -+// _lwp_getprivate -+// _lwp_kill -+// _lwp_park -+// _lwp_self -+// _lwp_setname -+// _lwp_setprivate -+// _lwp_suspend -+// _lwp_unpark -+// _lwp_unpark_all -+// _lwp_wait -+// _lwp_wakeup -+// _pset_bind -+// _sched_getaffinity -+// _sched_getparam -+// _sched_setaffinity -+// _sched_setparam -+// acct -+// aio_cancel -+// aio_error -+// aio_fsync -+// aio_read -+// aio_return -+// aio_suspend -+// aio_write -+// break -+// clock_getres -+// clock_gettime -+// clock_settime -+// compat_09_ogetdomainname -+// compat_09_osetdomainname -+// compat_09_ouname -+// compat_10_omsgsys -+// compat_10_osemsys -+// compat_10_oshmsys -+// compat_12_fstat12 -+// compat_12_getdirentries -+// compat_12_lstat12 -+// compat_12_msync -+// compat_12_oreboot -+// compat_12_oswapon -+// compat_12_stat12 -+// compat_13_sigaction13 -+// compat_13_sigaltstack13 -+// compat_13_sigpending13 -+// compat_13_sigprocmask13 -+// compat_13_sigreturn13 -+// compat_13_sigsuspend13 -+// compat_14___semctl -+// compat_14_msgctl -+// compat_14_shmctl -+// compat_16___sigaction14 -+// compat_16___sigreturn14 -+// compat_20_fhstatfs -+// compat_20_fstatfs -+// compat_20_getfsstat -+// compat_20_statfs -+// compat_30___fhstat30 -+// compat_30___fstat13 -+// compat_30___lstat13 -+// compat_30___stat13 -+// compat_30_fhopen -+// compat_30_fhstat -+// compat_30_fhstatvfs1 -+// compat_30_getdents -+// compat_30_getfh -+// compat_30_ntp_gettime -+// compat_30_socket -+// compat_40_mount -+// compat_43_fstat43 -+// compat_43_lstat43 -+// compat_43_oaccept -+// compat_43_ocreat -+// compat_43_oftruncate -+// compat_43_ogetdirentries -+// compat_43_ogetdtablesize -+// compat_43_ogethostid -+// compat_43_ogethostname -+// compat_43_ogetkerninfo -+// compat_43_ogetpagesize -+// compat_43_ogetpeername -+// compat_43_ogetrlimit -+// compat_43_ogetsockname -+// compat_43_okillpg -+// compat_43_olseek -+// compat_43_ommap -+// compat_43_oquota -+// compat_43_orecv -+// compat_43_orecvfrom -+// compat_43_orecvmsg -+// compat_43_osend -+// compat_43_osendmsg -+// compat_43_osethostid -+// compat_43_osethostname -+// compat_43_osetrlimit -+// compat_43_osigblock -+// compat_43_osigsetmask -+// compat_43_osigstack -+// compat_43_osigvec -+// compat_43_otruncate -+// compat_43_owait -+// compat_43_stat43 -+// execve -+// extattr_delete_fd -+// extattr_delete_file -+// extattr_delete_link -+// extattr_get_fd -+// extattr_get_file -+// extattr_get_link -+// extattr_list_fd -+// extattr_list_file -+// extattr_list_link -+// extattr_set_fd -+// extattr_set_file -+// extattr_set_link -+// extattrctl -+// fchroot -+// fdatasync -+// fgetxattr -+// fktrace -+// flistxattr -+// fork -+// fremovexattr -+// fsetxattr -+// fstatvfs1 -+// fsync_range -+// getcontext -+// getitimer -+// getvfsstat -+// getxattr -+// ioctl -+// ktrace -+// lchflags -+// lchmod -+// lfs_bmapv -+// lfs_markv -+// lfs_segclean -+// lfs_segwait -+// lgetxattr -+// lio_listio -+// listxattr -+// llistxattr -+// lremovexattr -+// lseek -+// lsetxattr -+// lutimes -+// madvise -+// mincore -+// minherit -+// modctl -+// mq_close -+// mq_getattr -+// mq_notify -+// mq_open -+// mq_receive -+// mq_send -+// mq_setattr -+// mq_timedreceive -+// mq_timedsend -+// mq_unlink -+// mremap -+// msgget -+// msgrcv -+// msgsnd -+// nfssvc -+// ntp_adjtime -+// pmc_control -+// pmc_get_info -+// poll -+// pollts -+// preadv -+// profil -+// pselect -+// pset_assign -+// pset_create -+// pset_destroy -+// ptrace -+// pwritev -+// quotactl -+// rasctl -+// readv -+// reboot -+// removexattr -+// sa_enable -+// sa_preempt -+// sa_register -+// sa_setconcurrency -+// sa_stacks -+// sa_yield -+// sbrk -+// sched_yield -+// semconfig -+// semget -+// semop -+// setcontext -+// setitimer -+// setxattr -+// shmat -+// shmdt -+// shmget -+// sstk -+// statvfs1 -+// swapctl -+// sysarch -+// syscall -+// timer_create -+// timer_delete -+// timer_getoverrun -+// timer_gettime -+// timer_settime -+// undelete -+// utrace -+// uuidgen -+// vadvise -+// vfork -+// writev -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -new file mode 100644 -index 0000000..afaca09 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -new file mode 100644 -index 0000000..a6ff04c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int64(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -new file mode 100644 -index 0000000..68a6969 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -@@ -0,0 +1,42 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go -new file mode 100644 -index 0000000..530792e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go -@@ -0,0 +1,11 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build dragonfly freebsd netbsd openbsd -+ -+package unix -+ -+const ImplementsGetwd = false -+ -+func Getwd() (string, error) { return "", ENOTSUP } -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go -new file mode 100644 -index 0000000..c0d2b6c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go -@@ -0,0 +1,287 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// OpenBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+ raw RawSockaddrDatalink -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+func nametomib(name string) (mib []_C_int, err error) { -+ -+ // Perform lookup via a binary search -+ left := 0 -+ right := len(sysctlMib) - 1 -+ for { -+ idx := left + (right-left)/2 -+ switch { -+ case name == sysctlMib[idx].ctlname: -+ return sysctlMib[idx].ctloid, nil -+ case name > sysctlMib[idx].ctlname: -+ left = idx + 1 -+ default: -+ right = idx - 1 -+ } -+ if left > right { -+ break -+ } -+ } -+ return nil, EINVAL -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys getdents(fd int, buf []byte) (n int, err error) -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ return getdents(fd, buf) -+} -+ -+// TODO -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ return -1, ENOSYS -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// __getcwd -+// __semctl -+// __syscall -+// __sysctl -+// adjfreq -+// break -+// clock_getres -+// clock_gettime -+// clock_settime -+// closefrom -+// execve -+// faccessat -+// fchmodat -+// fchownat -+// fcntl -+// fhopen -+// fhstat -+// fhstatfs -+// fork -+// fstatat -+// futimens -+// getfh -+// getgid -+// getitimer -+// getlogin -+// getresgid -+// getresuid -+// getrtable -+// getthrid -+// ioctl -+// ktrace -+// lfs_bmapv -+// lfs_markv -+// lfs_segclean -+// lfs_segwait -+// linkat -+// mincore -+// minherit -+// mkdirat -+// mkfifoat -+// mknodat -+// mount -+// mquery -+// msgctl -+// msgget -+// msgrcv -+// msgsnd -+// nfssvc -+// nnpfspioctl -+// openat -+// poll -+// preadv -+// profil -+// pwritev -+// quotactl -+// readlinkat -+// readv -+// reboot -+// renameat -+// rfork -+// sched_yield -+// semget -+// semop -+// setgroups -+// setitimer -+// setrtable -+// setsockopt -+// shmat -+// shmctl -+// shmdt -+// shmget -+// sigaction -+// sigaltstack -+// sigpending -+// sigprocmask -+// sigreturn -+// sigsuspend -+// symlinkat -+// sysarch -+// syscall -+// threxit -+// thrsigdivert -+// thrsleep -+// thrwakeup -+// unlinkat -+// utimensat -+// vfork -+// writev -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -new file mode 100644 -index 0000000..a66ddc5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,openbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -new file mode 100644 -index 0000000..0776c1f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,openbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = nsec / 1e9 -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go -new file mode 100644 -index 0000000..3cb1d0b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go -@@ -0,0 +1,713 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Solaris system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_solaris.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "sync/atomic" -+ "syscall" -+ "unsafe" -+) -+ -+// Implemented in runtime/syscall_solaris.go. -+type syscallFunc uintptr -+ -+func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+type SockaddrDatalink struct { -+ Family uint16 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [244]int8 -+ raw RawSockaddrDatalink -+} -+ -+func clen(n []byte) int { -+ for i := 0; i < len(n); i++ { -+ if n[i] == 0 { -+ return i -+ } -+ } -+ return len(n) -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ reclen, ok := direntReclen(buf) -+ if !ok { -+ return 0, false -+ } -+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -+} -+ -+//sysnb pipe(p *[2]_C_int) (n int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ n, err := pipe(&pp) -+ if n != 0 { -+ return err -+ } -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return nil -+} -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ // length is family (uint16), name, NUL. -+ sl := _Socklen(2) -+ if n > 0 { -+ sl += _Socklen(n) + 1 -+ } -+ if sa.raw.Path[0] == '@' { -+ sa.raw.Path[0] = 0 -+ // Don't count trailing NUL for abstract address. -+ sl-- -+ } -+ -+ return unsafe.Pointer(&sa.raw), sl, nil -+} -+ -+//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+const ImplementsGetwd = true -+ -+//sys Getcwd(buf []byte) (n int, err error) -+ -+func Getwd() (wd string, err error) { -+ var buf [PathMax]byte -+ // Getcwd will return an error if it failed for any reason. -+ _, err = Getcwd(buf[0:]) -+ if err != nil { -+ return "", err -+ } -+ n := clen(buf[:]) -+ if n < 1 { -+ return "", EINVAL -+ } -+ return string(buf[:n]), nil -+} -+ -+/* -+ * Wrapped -+ */ -+ -+//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -+//sysnb setgroups(ngid int, gid *_Gid_t) (err error) -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ // Check for error and sanity check group count. Newer versions of -+ // Solaris allow up to 1024 (NGROUPS_MAX). -+ if n < 0 || n > 1024 { -+ if err != nil { -+ return nil, err -+ } -+ return nil, EINVAL -+ } else if n == 0 { -+ return nil, nil -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if n == -1 { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ // Final argument is (basep *uintptr) and the syscall doesn't take nil. -+ // TODO(rsc): Can we use a single global basep for all calls? -+ return Getdents(fd, buf, new(uintptr)) -+} -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. -+ -+type WaitStatus uint32 -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ shift = 8 -+ -+ exited = 0 -+ stopped = 0x7F -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) ExitStatus() int { -+ if w&mask != exited { -+ return -1 -+ } -+ return int(w >> shift) -+} -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ sig := syscall.Signal(w & mask) -+ if sig == stopped || sig == 0 { -+ return -1 -+ } -+ return sig -+} -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } -+ -+func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { return -1 } -+ -+//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { -+ var status _C_int -+ rpid, err := wait4(int32(pid), &status, options, rusage) -+ wpid := int(rpid) -+ if wpid == -1 { -+ return wpid, err -+ } -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return wpid, nil -+} -+ -+//sys gethostname(buf []byte) (n int, err error) -+ -+func Gethostname() (name string, err error) { -+ var buf [MaxHostNameLen]byte -+ n, err := gethostname(buf[:]) -+ if n != 0 { -+ return "", err -+ } -+ n = clen(buf[:]) -+ if n < 1 { -+ return "", EFAULT -+ } -+ return string(buf[:n]), nil -+} -+ -+//sys utimes(path string, times *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) (err error) { -+ if tv == nil { -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ return utimensat(AT_FDCWD, path, nil, 0) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+} -+ -+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { -+ if ts == nil { -+ return utimensat(dirfd, path, nil, flags) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -+} -+ -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+ -+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) -+ if e1 != 0 { -+ return e1 -+ } -+ return nil -+} -+ -+//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) -+ -+func Futimesat(dirfd int, path string, tv []Timeval) error { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ if tv == nil { -+ return futimesat(dirfd, pathp, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+// Solaris doesn't have an futimes function because it allows NULL to be -+// specified as the path for futimesat. However, Go doesn't like -+// NULL-style string interfaces, so this simple wrapper is provided. -+func Futimes(fd int, tv []Timeval) error { -+ if tv == nil { -+ return futimesat(fd, nil, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrUnix) -+ // Assume path ends at NUL. -+ // This is not technically the Solaris semantics for -+ // abstract Unix domain sockets -- they are supposed -+ // to be uninterpreted fixed-size binary blobs -- but -+ // everyone uses this convention. -+ n := 0 -+ for n < len(pp.Path) && pp.Path[n] != 0 { -+ n++ -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if nfd == -1 { -+ return -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.recvmsg -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*int8)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy int8 -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Accrights = (*int8)(unsafe.Pointer(&oob[0])) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); n == -1 { -+ return -+ } -+ oobn = int(msg.Accrightslen) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.sendmsg -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*int8)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy int8 -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Accrights = (*int8)(unsafe.Pointer(&oob[0])) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+//sys acct(path *byte) (err error) -+ -+func Acct(path string) (err error) { -+ if len(path) == 0 { -+ // Assume caller wants to disable accounting. -+ return acct(nil) -+ } -+ -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ return acct(pathp) -+} -+ -+/* -+ * Expose the ioctl function -+ */ -+ -+//sys ioctl(fd int, req int, arg uintptr) (err error) -+ -+func IoctlSetInt(fd int, req int, value int) (err error) { -+ return ioctl(fd, req, uintptr(value)) -+} -+ -+func IoctlSetWinsize(fd int, req int, value *Winsize) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlSetTermios(fd int, req int, value *Termios) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlSetTermio(fd int, req int, value *Termio) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlGetInt(fd int, req int) (int, error) { -+ var value int -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return value, err -+} -+ -+func IoctlGetWinsize(fd int, req int) (*Winsize, error) { -+ var value Winsize -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+func IoctlGetTermios(fd int, req int) (*Termios, error) { -+ var value Termios -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+func IoctlGetTermio(fd int, req int) (*Termio, error) { -+ var value Termio -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Creat(path string, mode uint32) (fd int, err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -+//sys Fdatasync(fd int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sysnb Getgid() (gid int) -+//sysnb Getpid() (pid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgid int, err error) -+//sys Geteuid() (euid int) -+//sys Getegid() (egid int) -+//sys Getppid() (ppid int) -+//sys Getpriority(which int, who int) (n int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) = libsocket.listen -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Madvise(b []byte, advice int) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Sethostname(p []byte) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Setuid(uid int) (err error) -+//sys Shutdown(s int, how int) (err error) = libsocket.shutdown -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sysnb Times(tms *Tms) (ticks uintptr, err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Umask(mask int) (oldmask int) -+//sysnb Uname(buf *Utsname) (err error) -+//sys Unmount(target string, flags int) (err error) = libc.umount -+//sys Unlink(path string) (err error) -+//sys Unlinkat(dirfd int, path string, flags int) (err error) -+//sys Ustat(dev int, ubuf *Ustat_t) (err error) -+//sys Utime(path string, buf *Utimbuf) (err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.bind -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.connect -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.sendto -+//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.socket -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.socketpair -+//sys write(fd int, p []byte) (n int, err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.getsockopt -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -+ -+//sys sysconf(name int) (n int64, err error) -+ -+// pageSize caches the value of Getpagesize, since it can't change -+// once the system is booted. -+var pageSize int64 // accessed atomically -+ -+func Getpagesize() int { -+ n := atomic.LoadInt64(&pageSize) -+ if n == 0 { -+ n, _ = sysconf(_SC_PAGESIZE) -+ atomic.StoreInt64(&pageSize, n) -+ } -+ return int(n) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -new file mode 100644 -index 0000000..5aff62c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -@@ -0,0 +1,35 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,solaris -+ -+package unix -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ // TODO(aram): implement this, see issue 5847. -+ panic("unimplemented") -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go -new file mode 100644 -index 0000000..8a5237d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go -@@ -0,0 +1,292 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+import ( -+ "runtime" -+ "sync" -+ "syscall" -+ "unsafe" -+) -+ -+var ( -+ Stdin = 0 -+ Stdout = 1 -+ Stderr = 2 -+) -+ -+const ( -+ darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8 -+ dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8 -+ netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4 -+) -+ -+// Do the interface allocations only once for common -+// Errno values. -+var ( -+ errEAGAIN error = syscall.EAGAIN -+ errEINVAL error = syscall.EINVAL -+ errENOENT error = syscall.ENOENT -+) -+ -+// errnoErr returns common boxed Errno values, to prevent -+// allocations at runtime. -+func errnoErr(e syscall.Errno) error { -+ switch e { -+ case 0: -+ return nil -+ case EAGAIN: -+ return errEAGAIN -+ case EINVAL: -+ return errEINVAL -+ case ENOENT: -+ return errENOENT -+ } -+ return e -+} -+ -+// Mmap manager, for use by operating system-specific implementations. -+ -+type mmapper struct { -+ sync.Mutex -+ active map[*byte][]byte // active mappings; key is last byte in mapping -+ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) -+ munmap func(addr uintptr, length uintptr) error -+} -+ -+func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ if length <= 0 { -+ return nil, EINVAL -+ } -+ -+ // Map the requested memory. -+ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) -+ if errno != nil { -+ return nil, errno -+ } -+ -+ // Slice memory layout -+ var sl = struct { -+ addr uintptr -+ len int -+ cap int -+ }{addr, length, length} -+ -+ // Use unsafe to turn sl into a []byte. -+ b := *(*[]byte)(unsafe.Pointer(&sl)) -+ -+ // Register mapping in m and return it. -+ p := &b[cap(b)-1] -+ m.Lock() -+ defer m.Unlock() -+ m.active[p] = b -+ return b, nil -+} -+ -+func (m *mmapper) Munmap(data []byte) (err error) { -+ if len(data) == 0 || len(data) != cap(data) { -+ return EINVAL -+ } -+ -+ // Find the base of the mapping. -+ p := &data[cap(data)-1] -+ m.Lock() -+ defer m.Unlock() -+ b := m.active[p] -+ if b == nil || &b[0] != &data[0] { -+ return EINVAL -+ } -+ -+ // Unmap the memory and update m. -+ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { -+ return errno -+ } -+ delete(m.active, p) -+ return nil -+} -+ -+func Read(fd int, p []byte) (n int, err error) { -+ n, err = read(fd, p) -+ if raceenabled { -+ if n > 0 { -+ raceWriteRange(unsafe.Pointer(&p[0]), n) -+ } -+ if err == nil { -+ raceAcquire(unsafe.Pointer(&ioSync)) -+ } -+ } -+ return -+} -+ -+func Write(fd int, p []byte) (n int, err error) { -+ if raceenabled { -+ raceReleaseMerge(unsafe.Pointer(&ioSync)) -+ } -+ n, err = write(fd, p) -+ if raceenabled && n > 0 { -+ raceReadRange(unsafe.Pointer(&p[0]), n) -+ } -+ return -+} -+ -+// For testing: clients can set this flag to force -+// creation of IPv6 sockets to return EAFNOSUPPORT. -+var SocketDisableIPv6 bool -+ -+type Sockaddr interface { -+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs -+} -+ -+type SockaddrInet4 struct { -+ Port int -+ Addr [4]byte -+ raw RawSockaddrInet4 -+} -+ -+type SockaddrInet6 struct { -+ Port int -+ ZoneId uint32 -+ Addr [16]byte -+ raw RawSockaddrInet6 -+} -+ -+type SockaddrUnix struct { -+ Name string -+ raw RawSockaddrUnix -+} -+ -+func Bind(fd int, sa Sockaddr) (err error) { -+ ptr, n, err := sa.sockaddr() -+ if err != nil { -+ return err -+ } -+ return bind(fd, ptr, n) -+} -+ -+func Connect(fd int, sa Sockaddr) (err error) { -+ ptr, n, err := sa.sockaddr() -+ if err != nil { -+ return err -+ } -+ return connect(fd, ptr, n) -+} -+ -+func Getpeername(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getpeername(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+func GetsockoptInt(fd, level, opt int) (value int, err error) { -+ var n int32 -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) -+ return int(n), err -+} -+ -+func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { -+ return -+ } -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { -+ ptr, n, err := to.sockaddr() -+ if err != nil { -+ return err -+ } -+ return sendto(fd, p, flags, ptr, n) -+} -+ -+func SetsockoptByte(fd, level, opt int, value byte) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) -+} -+ -+func SetsockoptInt(fd, level, opt int, value int) (err error) { -+ var n = int32(value) -+ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) -+} -+ -+func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) -+} -+ -+func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) -+} -+ -+func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) -+} -+ -+func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { -+ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) -+} -+ -+func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) -+} -+ -+func SetsockoptString(fd, level, opt int, s string) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) -+} -+ -+func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) -+} -+ -+func Socket(domain, typ, proto int) (fd int, err error) { -+ if domain == AF_INET6 && SocketDisableIPv6 { -+ return -1, EAFNOSUPPORT -+ } -+ fd, err = socket(domain, typ, proto) -+ return -+} -+ -+func Socketpair(domain, typ, proto int) (fd [2]int, err error) { -+ var fdx [2]int32 -+ err = socketpair(domain, typ, proto, &fdx) -+ if err == nil { -+ fd[0] = int(fdx[0]) -+ fd[1] = int(fdx[1]) -+ } -+ return -+} -+ -+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ if raceenabled { -+ raceReleaseMerge(unsafe.Pointer(&ioSync)) -+ } -+ return sendfile(outfd, infd, offset, count) -+} -+ -+var ioSync int64 -+ -+func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } -+ -+func SetNonblock(fd int, nonblocking bool) (err error) { -+ flag, err := fcntl(fd, F_GETFL, 0) -+ if err != nil { -+ return err -+ } -+ if nonblocking { -+ flag |= O_NONBLOCK -+ } else { -+ flag &= ^O_NONBLOCK -+ } -+ _, err = fcntl(fd, F_SETFL, flag) -+ return err -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go -new file mode 100644 -index 0000000..4cb8e8e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go -@@ -0,0 +1,15 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+// +build !gccgo -+ -+package unix -+ -+import "syscall" -+ -+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go -new file mode 100644 -index 0000000..1153261 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_darwin.go -@@ -0,0 +1,250 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define __DARWIN_UNIX03 0 -+#define KERNEL -+#define _DARWIN_USE_64_BIT_INODE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timeval32 C.struct_timeval32 -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat64 -+ -+type Statfs_t C.struct_statfs64 -+ -+type Flock_t C.struct_flock -+ -+type Fstore_t C.struct_fstore -+ -+type Radvisory_t C.struct_radvisory -+ -+type Fbootstraptransfer_t C.struct_fbootstraptransfer -+ -+type Log2phys_t C.struct_log2phys -+ -+type Fsid C.struct_fsid -+ -+type Dirent C.struct_dirent -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet4Pktinfo C.struct_in_pktinfo -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfmaMsghdr2 C.struct_ifma_msghdr2 -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+// fchmodat-like syscalls. -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+) -diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go -new file mode 100644 -index 0000000..f3c971d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go -@@ -0,0 +1,242 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.struct_fsid -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go -new file mode 100644 -index 0000000..ae24557 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_freebsd.go -@@ -0,0 +1,353 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+// This structure is a duplicate of stat on FreeBSD 8-STABLE. -+// See /usr/include/sys/stat.h. -+struct stat8 { -+#undef st_atimespec st_atim -+#undef st_mtimespec st_mtim -+#undef st_ctimespec st_ctim -+#undef st_birthtimespec st_birthtim -+ __dev_t st_dev; -+ ino_t st_ino; -+ mode_t st_mode; -+ nlink_t st_nlink; -+ uid_t st_uid; -+ gid_t st_gid; -+ __dev_t st_rdev; -+#if __BSD_VISIBLE -+ struct timespec st_atimespec; -+ struct timespec st_mtimespec; -+ struct timespec st_ctimespec; -+#else -+ time_t st_atime; -+ long __st_atimensec; -+ time_t st_mtime; -+ long __st_mtimensec; -+ time_t st_ctime; -+ long __st_ctimensec; -+#endif -+ off_t st_size; -+ blkcnt_t st_blocks; -+ blksize_t st_blksize; -+ fflags_t st_flags; -+ __uint32_t st_gen; -+ __int32_t st_lspare; -+#if __BSD_VISIBLE -+ struct timespec st_birthtimespec; -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); -+#else -+ time_t st_birthtime; -+ long st_birthtimensec; -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); -+#endif -+}; -+ -+// This structure is a duplicate of if_data on FreeBSD 8-STABLE. -+// See /usr/include/net/if.h. -+struct if_data8 { -+ u_char ifi_type; -+ u_char ifi_physical; -+ u_char ifi_addrlen; -+ u_char ifi_hdrlen; -+ u_char ifi_link_state; -+ u_char ifi_spare_char1; -+ u_char ifi_spare_char2; -+ u_char ifi_datalen; -+ u_long ifi_mtu; -+ u_long ifi_metric; -+ u_long ifi_baudrate; -+ u_long ifi_ipackets; -+ u_long ifi_ierrors; -+ u_long ifi_opackets; -+ u_long ifi_oerrors; -+ u_long ifi_collisions; -+ u_long ifi_ibytes; -+ u_long ifi_obytes; -+ u_long ifi_imcasts; -+ u_long ifi_omcasts; -+ u_long ifi_iqdrops; -+ u_long ifi_noproto; -+ u_long ifi_hwassist; -+ time_t ifi_epoch; -+ struct timeval ifi_lastchange; -+}; -+ -+// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. -+// See /usr/include/net/if.h. -+struct if_msghdr8 { -+ u_short ifm_msglen; -+ u_char ifm_version; -+ u_char ifm_type; -+ int ifm_addrs; -+ int ifm_flags; -+ u_short ifm_index; -+ struct if_data8 ifm_data; -+}; -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat8 -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.struct_fsid -+ -+// Advice to Fadvise -+ -+const ( -+ FADV_NORMAL = C.POSIX_FADV_NORMAL -+ FADV_RANDOM = C.POSIX_FADV_RANDOM -+ FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL -+ FADV_WILLNEED = C.POSIX_FADV_WILLNEED -+ FADV_DONTNEED = C.POSIX_FADV_DONTNEED -+ FADV_NOREUSE = C.POSIX_FADV_NOREUSE -+) -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPMreqn C.struct_ip_mreqn -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPMreqn = C.sizeof_struct_ip_mreqn -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ sizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 -+ sizeofIfData = C.sizeof_struct_if_data -+ SizeofIfData = C.sizeof_struct_if_data8 -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type ifMsghdr C.struct_if_msghdr -+ -+type IfMsghdr C.struct_if_msghdr8 -+ -+type ifData C.struct_if_data -+ -+type IfData C.struct_if_data8 -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+ SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfZbuf C.struct_bpf_zbuf -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfZbufHeader C.struct_bpf_zbuf_header -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_linux.go b/vendor/golang.org/x/sys/unix/types_linux.go -new file mode 100644 -index 0000000..ae79779 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_linux.go -@@ -0,0 +1,469 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define _LARGEFILE_SOURCE -+#define _LARGEFILE64_SOURCE -+#define _FILE_OFFSET_BITS 64 -+#define _GNU_SOURCE -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef TCSETS2 -+// On systems that have "struct termios2" use this as type Termios. -+typedef struct termios2 termios_t; -+#else -+typedef struct termios termios_t; -+#endif -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_ll s5; -+ struct sockaddr_nl s6; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+// copied from /usr/include/linux/un.h -+struct my_sockaddr_un { -+ sa_family_t sun_family; -+#if defined(__ARM_EABI__) || defined(__powerpc64__) -+ // on ARM char is by default unsigned -+ signed char sun_path[108]; -+#else -+ char sun_path[108]; -+#endif -+}; -+ -+#ifdef __ARM_EABI__ -+typedef struct user_regs PtraceRegs; -+#elif defined(__aarch64__) -+typedef struct user_pt_regs PtraceRegs; -+#elif defined(__powerpc64__) -+typedef struct pt_regs PtraceRegs; -+#elif defined(__mips__) -+typedef struct user PtraceRegs; -+#elif defined(__s390x__) -+typedef struct _user_regs_struct PtraceRegs; -+#elif defined(__sparc__) -+#include -+typedef struct pt_regs PtraceRegs; -+#else -+typedef struct user_regs_struct PtraceRegs; -+#endif -+ -+#if defined(__s390x__) -+typedef struct _user_psw_struct ptracePsw; -+typedef struct _user_fpregs_struct ptraceFpregs; -+typedef struct _user_per_struct ptracePer; -+#else -+typedef struct {} ptracePsw; -+typedef struct {} ptraceFpregs; -+typedef struct {} ptracePer; -+#endif -+ -+// The real epoll_event is a union, and godefs doesn't handle it well. -+struct my_epoll_event { -+ uint32_t events; -+#if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32) -+ // padding is not specified in linux/eventpoll.h but added to conform to the -+ // alignment requirements of EABI -+ int32_t padFd; -+#elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) -+ int32_t _padFd; -+#endif -+ int32_t fd; -+ int32_t pad; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+ PathMax = C.PATH_MAX -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timex C.struct_timex -+ -+type Time_t C.time_t -+ -+type Tms C.struct_tms -+ -+type Utimbuf C.struct_utimbuf -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+type Flock_t C.struct_flock -+ -+// Advice to Fadvise -+ -+const ( -+ FADV_NORMAL = C.POSIX_FADV_NORMAL -+ FADV_RANDOM = C.POSIX_FADV_RANDOM -+ FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL -+ FADV_WILLNEED = C.POSIX_FADV_WILLNEED -+ FADV_DONTNEED = C.POSIX_FADV_DONTNEED -+ FADV_NOREUSE = C.POSIX_FADV_NOREUSE -+) -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_my_sockaddr_un -+ -+type RawSockaddrLinklayer C.struct_sockaddr_ll -+ -+type RawSockaddrNetlink C.struct_sockaddr_nl -+ -+type RawSockaddrHCI C.struct_sockaddr_hci -+ -+type RawSockaddrCAN C.struct_sockaddr_can -+ -+type RawSockaddrALG C.struct_sockaddr_alg -+ -+type RawSockaddrVM C.struct_sockaddr_vm -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPMreqn C.struct_ip_mreqn -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet4Pktinfo C.struct_in_pktinfo -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+type Ucred C.struct_ucred -+ -+type TCPInfo C.struct_tcp_info -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll -+ SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl -+ SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci -+ SizeofSockaddrCAN = C.sizeof_struct_sockaddr_can -+ SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg -+ SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPMreqn = C.sizeof_struct_ip_mreqn -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+ SizeofUcred = C.sizeof_struct_ucred -+ SizeofTCPInfo = C.sizeof_struct_tcp_info -+) -+ -+// Netlink routing and interface messages -+ -+const ( -+ IFA_UNSPEC = C.IFA_UNSPEC -+ IFA_ADDRESS = C.IFA_ADDRESS -+ IFA_LOCAL = C.IFA_LOCAL -+ IFA_LABEL = C.IFA_LABEL -+ IFA_BROADCAST = C.IFA_BROADCAST -+ IFA_ANYCAST = C.IFA_ANYCAST -+ IFA_CACHEINFO = C.IFA_CACHEINFO -+ IFA_MULTICAST = C.IFA_MULTICAST -+ IFLA_UNSPEC = C.IFLA_UNSPEC -+ IFLA_ADDRESS = C.IFLA_ADDRESS -+ IFLA_BROADCAST = C.IFLA_BROADCAST -+ IFLA_IFNAME = C.IFLA_IFNAME -+ IFLA_MTU = C.IFLA_MTU -+ IFLA_LINK = C.IFLA_LINK -+ IFLA_QDISC = C.IFLA_QDISC -+ IFLA_STATS = C.IFLA_STATS -+ IFLA_COST = C.IFLA_COST -+ IFLA_PRIORITY = C.IFLA_PRIORITY -+ IFLA_MASTER = C.IFLA_MASTER -+ IFLA_WIRELESS = C.IFLA_WIRELESS -+ IFLA_PROTINFO = C.IFLA_PROTINFO -+ IFLA_TXQLEN = C.IFLA_TXQLEN -+ IFLA_MAP = C.IFLA_MAP -+ IFLA_WEIGHT = C.IFLA_WEIGHT -+ IFLA_OPERSTATE = C.IFLA_OPERSTATE -+ IFLA_LINKMODE = C.IFLA_LINKMODE -+ IFLA_LINKINFO = C.IFLA_LINKINFO -+ IFLA_NET_NS_PID = C.IFLA_NET_NS_PID -+ IFLA_IFALIAS = C.IFLA_IFALIAS -+ IFLA_MAX = C.IFLA_MAX -+ RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE -+ RT_SCOPE_SITE = C.RT_SCOPE_SITE -+ RT_SCOPE_LINK = C.RT_SCOPE_LINK -+ RT_SCOPE_HOST = C.RT_SCOPE_HOST -+ RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE -+ RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC -+ RT_TABLE_COMPAT = C.RT_TABLE_COMPAT -+ RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT -+ RT_TABLE_MAIN = C.RT_TABLE_MAIN -+ RT_TABLE_LOCAL = C.RT_TABLE_LOCAL -+ RT_TABLE_MAX = C.RT_TABLE_MAX -+ RTA_UNSPEC = C.RTA_UNSPEC -+ RTA_DST = C.RTA_DST -+ RTA_SRC = C.RTA_SRC -+ RTA_IIF = C.RTA_IIF -+ RTA_OIF = C.RTA_OIF -+ RTA_GATEWAY = C.RTA_GATEWAY -+ RTA_PRIORITY = C.RTA_PRIORITY -+ RTA_PREFSRC = C.RTA_PREFSRC -+ RTA_METRICS = C.RTA_METRICS -+ RTA_MULTIPATH = C.RTA_MULTIPATH -+ RTA_FLOW = C.RTA_FLOW -+ RTA_CACHEINFO = C.RTA_CACHEINFO -+ RTA_TABLE = C.RTA_TABLE -+ RTN_UNSPEC = C.RTN_UNSPEC -+ RTN_UNICAST = C.RTN_UNICAST -+ RTN_LOCAL = C.RTN_LOCAL -+ RTN_BROADCAST = C.RTN_BROADCAST -+ RTN_ANYCAST = C.RTN_ANYCAST -+ RTN_MULTICAST = C.RTN_MULTICAST -+ RTN_BLACKHOLE = C.RTN_BLACKHOLE -+ RTN_UNREACHABLE = C.RTN_UNREACHABLE -+ RTN_PROHIBIT = C.RTN_PROHIBIT -+ RTN_THROW = C.RTN_THROW -+ RTN_NAT = C.RTN_NAT -+ RTN_XRESOLVE = C.RTN_XRESOLVE -+ RTNLGRP_NONE = C.RTNLGRP_NONE -+ RTNLGRP_LINK = C.RTNLGRP_LINK -+ RTNLGRP_NOTIFY = C.RTNLGRP_NOTIFY -+ RTNLGRP_NEIGH = C.RTNLGRP_NEIGH -+ RTNLGRP_TC = C.RTNLGRP_TC -+ RTNLGRP_IPV4_IFADDR = C.RTNLGRP_IPV4_IFADDR -+ RTNLGRP_IPV4_MROUTE = C.RTNLGRP_IPV4_MROUTE -+ RTNLGRP_IPV4_ROUTE = C.RTNLGRP_IPV4_ROUTE -+ RTNLGRP_IPV4_RULE = C.RTNLGRP_IPV4_RULE -+ RTNLGRP_IPV6_IFADDR = C.RTNLGRP_IPV6_IFADDR -+ RTNLGRP_IPV6_MROUTE = C.RTNLGRP_IPV6_MROUTE -+ RTNLGRP_IPV6_ROUTE = C.RTNLGRP_IPV6_ROUTE -+ RTNLGRP_IPV6_IFINFO = C.RTNLGRP_IPV6_IFINFO -+ RTNLGRP_IPV6_PREFIX = C.RTNLGRP_IPV6_PREFIX -+ RTNLGRP_IPV6_RULE = C.RTNLGRP_IPV6_RULE -+ RTNLGRP_ND_USEROPT = C.RTNLGRP_ND_USEROPT -+ SizeofNlMsghdr = C.sizeof_struct_nlmsghdr -+ SizeofNlMsgerr = C.sizeof_struct_nlmsgerr -+ SizeofRtGenmsg = C.sizeof_struct_rtgenmsg -+ SizeofNlAttr = C.sizeof_struct_nlattr -+ SizeofRtAttr = C.sizeof_struct_rtattr -+ SizeofIfInfomsg = C.sizeof_struct_ifinfomsg -+ SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg -+ SizeofRtMsg = C.sizeof_struct_rtmsg -+ SizeofRtNexthop = C.sizeof_struct_rtnexthop -+) -+ -+type NlMsghdr C.struct_nlmsghdr -+ -+type NlMsgerr C.struct_nlmsgerr -+ -+type RtGenmsg C.struct_rtgenmsg -+ -+type NlAttr C.struct_nlattr -+ -+type RtAttr C.struct_rtattr -+ -+type IfInfomsg C.struct_ifinfomsg -+ -+type IfAddrmsg C.struct_ifaddrmsg -+ -+type RtMsg C.struct_rtmsg -+ -+type RtNexthop C.struct_rtnexthop -+ -+// Linux socket filter -+ -+const ( -+ SizeofSockFilter = C.sizeof_struct_sock_filter -+ SizeofSockFprog = C.sizeof_struct_sock_fprog -+) -+ -+type SockFilter C.struct_sock_filter -+ -+type SockFprog C.struct_sock_fprog -+ -+// Inotify -+ -+type InotifyEvent C.struct_inotify_event -+ -+const SizeofInotifyEvent = C.sizeof_struct_inotify_event -+ -+// Ptrace -+ -+// Register structures -+type PtraceRegs C.PtraceRegs -+ -+// Structures contained in PtraceRegs on s390x (exported by mkpost.go) -+type ptracePsw C.ptracePsw -+ -+type ptraceFpregs C.ptraceFpregs -+ -+type ptracePer C.ptracePer -+ -+// Misc -+ -+type FdSet C.fd_set -+ -+type Sysinfo_t C.struct_sysinfo -+ -+type Utsname C.struct_utsname -+ -+type Ustat_t C.struct_ustat -+ -+type EpollEvent C.struct_my_epoll_event -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_REMOVEDIR = C.AT_REMOVEDIR -+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+) -+ -+type PollFd C.struct_pollfd -+ -+const ( -+ POLLIN = C.POLLIN -+ POLLPRI = C.POLLPRI -+ POLLOUT = C.POLLOUT -+ POLLRDHUP = C.POLLRDHUP -+ POLLERR = C.POLLERR -+ POLLHUP = C.POLLHUP -+ POLLNVAL = C.POLLNVAL -+) -+ -+type Sigset_t C.sigset_t -+ -+// sysconf information -+ -+const _SC_PAGESIZE = C._SC_PAGESIZE -+ -+// Terminal handling -+ -+type Termios C.termios_t -diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go -new file mode 100644 -index 0000000..d15f93d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_netbsd.go -@@ -0,0 +1,232 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+type Mclpool C.struct_mclpool -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+// Sysctl -+ -+type Sysctlnode C.struct_sysctlnode -diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go -new file mode 100644 -index 0000000..b66fe25 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_openbsd.go -@@ -0,0 +1,244 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+type Mclpool C.struct_mclpool -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go -new file mode 100644 -index 0000000..c5d5c8f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_solaris.go -@@ -0,0 +1,262 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+// These defines ensure that builds done on newer versions of Solaris are -+// backwards-compatible with older versions of Solaris and -+// OpenSolaris-based derivatives. -+#define __USE_SUNOS_SOCKETS__ // msghdr -+#define __USE_LEGACY_PROTOTYPES__ // iovec -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+ PathMax = C.PATH_MAX -+ MaxHostNameLen = C.MAXHOSTNAMELEN -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timeval32 C.struct_timeval32 -+ -+type Tms C.struct_tms -+ -+type Utimbuf C.struct_utimbuf -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Misc -+ -+type Utsname C.struct_utsname -+ -+type Ustat_t C.struct_ustat -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW -+ AT_REMOVEDIR = C.AT_REMOVEDIR -+ AT_EACCESS = C.AT_EACCESS -+) -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// sysconf information -+ -+const _SC_PAGESIZE = C._SC_PAGESIZE -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+type Termio C.struct_termio -+ -+type Winsize C.struct_winsize -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -new file mode 100644 -index 0000000..8e63888 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x8008427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6981 -+ SIOCRSLVMULTI = 0xc008693b -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40087458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -new file mode 100644 -index 0000000..9594f93 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x8010427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -new file mode 100644 -index 0000000..a410e88 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -@@ -0,0 +1,1293 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+// +build arm,darwin -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xc -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -new file mode 100644 -index 0000000..3189c6b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm64,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x8010427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -new file mode 100644 -index 0000000..0feceee ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -@@ -0,0 +1,1530 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,dragonfly -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x21 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x23 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x22 -+ AF_NATM = 0x1d -+ AF_NETGRAPH = 0x20 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8010427b -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DEFAULTBUFSIZE = 0x1000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MAX_CLONES = 0x80 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_REDBACK_SMARTEDGE = 0x20 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DBF = 0xf -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_EXCEPT = -0x8 -+ EVFILT_MARKER = 0xf -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x8 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_NODATA = 0x1000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTEXIT_LWP = 0x10000 -+ EXTEXIT_PROC = 0x0 -+ EXTEXIT_SETINT = 0x1 -+ EXTEXIT_SIMPLE = 0x0 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x118e72 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NPOLLING = 0x100000 -+ IFF_OACTIVE = 0x400 -+ IFF_OACTIVE_COMPAT = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_POLLING = 0x10000 -+ IFF_POLLING_COMPAT = 0x10000 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xf3 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UNKNOWN = 0x102 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PKTOPTIONS = 0x34 -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CONTROL_END = 0xb -+ MADV_CONTROL_START = 0xa -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_INVAL = 0xa -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SETMAP = 0xb -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_NOCORE = 0x20000 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_SIZEALIGN = 0x40000 -+ MAP_STACK = 0x400 -+ MAP_TRYFIXED = 0x10000 -+ MAP_VPAGETABLE = 0x2000 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FBLOCKING = 0x10000 -+ MSG_FMASK = 0xffff0000 -+ MSG_FNONBLOCKING = 0x20000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_NOTIFICATION = 0x200 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_SYNC = 0x800 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x4 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_OOB = 0x2 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x20000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x8000000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FAPPEND = 0x100000 -+ O_FASYNCWRITE = 0x800000 -+ O_FBLOCKING = 0x40000 -+ O_FBUFFERED = 0x2000000 -+ O_FMASK = 0x7fc0000 -+ O_FNONBLOCKING = 0x80000 -+ O_FOFFSET = 0x200000 -+ O_FSYNC = 0x80 -+ O_FSYNCWRITE = 0x400000 -+ O_FUNBUFFERED = 0x1000000 -+ O_MAPONREAD = 0x4000000 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0xb -+ RTAX_MPLS1 = 0x8 -+ RTAX_MPLS2 = 0x9 -+ RTAX_MPLS3 = 0xa -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_MPLS1 = 0x100 -+ RTA_MPLS2 = 0x200 -+ RTA_MPLS3 = 0x400 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MPLSOPS = 0x1000000 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x6 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_IWCAPSEGS = 0x400 -+ RTV_IWMAXSEGS = 0x200 -+ RTV_MSL = 0x100 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8040720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8040720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETSGCNT = 0xc0207210 -+ SIOCGETVIFCNT = 0xc028720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDATA = 0xc0206926 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMEDIA = 0xc0306938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPOLLCPU = 0xc020697e -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGIFTSOLEN = 0xc0206980 -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFPOLLCPU = 0x8020697d -+ SIOCSIFTSOLEN = 0x8020697f -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDSPACE = 0x100a -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_FASTKEEP = 0x80 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x20 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0x100 -+ TCP_MIN_WINSHIFT = 0x5 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_SIGNATURE_ENABLE = 0x10 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCISPTMASTER = 0x20007455 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VCHECKPT = 0x13 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EASYNC = syscall.Errno(0x63) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x63) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEDIUM = syscall.Errno(0x5d) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUNUSED94 = syscall.Errno(0x5e) -+ EUNUSED95 = syscall.Errno(0x5f) -+ EUNUSED96 = syscall.Errno(0x60) -+ EUNUSED97 = syscall.Errno(0x61) -+ EUNUSED98 = syscall.Errno(0x62) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCKPT = syscall.Signal(0x21) -+ SIGCKPTEXIT = syscall.Signal(0x22) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "no medium found", -+ 94: "unknown error: 94", -+ 95: "unknown error: 95", -+ 96: "unknown error: 96", -+ 97: "unknown error: 97", -+ 98: "unknown error: 98", -+ 99: "unknown error: 99", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread Scheduler", -+ 33: "checkPoint", -+ 34: "checkPointExit", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -new file mode 100644 -index 0000000..7b95751 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -@@ -0,0 +1,1743 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4004427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x400c4280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x80084282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8008427b -+ BIOCSETZBUF = 0x800c4281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_MONOTONIC_FAST = 0xc -+ CLOCK_MONOTONIC_PRECISE = 0xb -+ CLOCK_PROCESS_CPUTIME_ID = 0xf -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_FAST = 0xa -+ CLOCK_REALTIME_PRECISE = 0x9 -+ CLOCK_SECOND = 0xd -+ CLOCK_THREAD_CPUTIME_ID = 0xe -+ CLOCK_UPTIME = 0x5 -+ CLOCK_UPTIME_FAST = 0x8 -+ CLOCK_UPTIME_PRECISE = 0x7 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETSGCNT = 0xc0147210 -+ SIOCGETVIFCNT = 0xc014720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -new file mode 100644 -index 0000000..e48e779 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -@@ -0,0 +1,1748 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4008427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x40184280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x80104282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8010427b -+ BIOCSETZBUF = 0x80184281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_MONOTONIC_FAST = 0xc -+ CLOCK_MONOTONIC_PRECISE = 0xb -+ CLOCK_PROCESS_CPUTIME_ID = 0xf -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_FAST = 0xa -+ CLOCK_REALTIME_PRECISE = 0x9 -+ CLOCK_SECOND = 0xd -+ CLOCK_THREAD_CPUTIME_ID = 0xe -+ CLOCK_UPTIME = 0x5 -+ CLOCK_UPTIME_FAST = 0x8 -+ CLOCK_UPTIME_PRECISE = 0x7 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x80000 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_MSECONDS = 0x2 -+ NOTE_NSECONDS = 0x8 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x4 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8040720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80286987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8040720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80286989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETSGCNT = 0xc0207210 -+ SIOCGETVIFCNT = 0xc028720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFGROUP = 0xc0286988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0306938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -new file mode 100644 -index 0000000..2afbe2d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -@@ -0,0 +1,1729 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4004427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x400c4280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x80084282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8008427b -+ BIOCSETZBUF = 0x800c4281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETSGCNT = 0xc0147210 -+ SIOCGETVIFCNT = 0xc014720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -new file mode 100644 -index 0000000..2d02caf ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -@@ -0,0 +1,1887 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80041270 -+ BLKBSZSET = 0x40041271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80041272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xc -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0xd -+ F_SETLK64 = 0xd -+ F_SETLKW = 0xe -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x40 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x8000 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPXREGS = 0x12 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0xff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPXREGS = 0x13 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SINGLEBLOCK = 0x21 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_SYSEMU = 0x1f -+ PTRACE_SYSEMU_SINGLESTEP = 0x20 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x400854d5 -+ TUNDETACHFILTER = 0x400854d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -new file mode 100644 -index 0000000..f21dcd9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -@@ -0,0 +1,1895 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x40 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ARCH_PRCTL = 0x1e -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPXREGS = 0x12 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0xff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPXREGS = 0x13 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SINGLEBLOCK = 0x21 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_SYSEMU = 0x1f -+ PTRACE_SYSEMU_SINGLESTEP = 0x20 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VM_SOCKETS_INVALID_VERSION = 0xffffffff -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -new file mode 100644 -index 0000000..7889e64 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -@@ -0,0 +1,1815 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x27 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_PHY = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ELF_NGREG = 0x12 -+ ELF_PRARGSZ = 0x50 -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EPOLLERR = 0x8 -+ EPOLLET = -0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xc -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0xd -+ F_SETLK64 = 0xd -+ F_SETLKW = 0xe -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DYNAMIC = 0x8000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x1000 -+ O_LARGEFILE = 0x20000 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x1000 -+ O_SYNC = 0x1000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_BROADCAST = 0x1 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MULTICAST = 0x2 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PARENB = 0x100 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CLEAR_SECCOMP_FILTER = 0x25 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECCOMP_FILTER = 0x23 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SECCOMP_FILTER_EVENT = 0x1 -+ PR_SECCOMP_FILTER_SYSCALL = 0x0 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_NAME = 0xf -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECCOMP_FILTER = 0x24 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETCRUNCHREGS = 0x19 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETHBPREGS = 0x1d -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETVFPREGS = 0x1b -+ PTRACE_GETWMMXREGS = 0x12 -+ PTRACE_GET_THREAD_AREA = 0x16 -+ PTRACE_KILL = 0x8 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0x7f -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SETCRUNCHREGS = 0x1a -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETHBPREGS = 0x1e -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETVFPREGS = 0x1c -+ PTRACE_SETWMMXREGS = 0x13 -+ PTRACE_SET_SYSCALL = 0x17 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_DATA_ADDR = 0x10004 -+ PT_TEXT_ADDR = 0x10000 -+ PT_TEXT_END_ADDR = 0x10008 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x400854d5 -+ TUNDETACHFILTER = 0x400854d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -new file mode 100644 -index 0000000..16a18f5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -@@ -0,0 +1,1967 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ELF_NGREG = 0x22 -+ ELF_PRARGSZ = 0x50 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LIVE_ADDR_CHANGE = 0x100000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN = 0x200000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_SUPP_NOFCS = 0x80000 -+ IFF_TAP = 0x2 -+ IFF_TEAM_PORT = 0x40000 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -new file mode 100644 -index 0000000..80e69e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -@@ -0,0 +1,1869 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x27 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MCNET = 0x5 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = -0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x80 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x21 -+ F_GETLK64 = 0x21 -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x22 -+ F_SETLK64 = 0x22 -+ F_SETLKW = 0x23 -+ F_SETLKW64 = 0x23 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_NAME = 0xf -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_STOP = 0x7 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0x7f -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_CAN_BASE = 0x64 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCGETS2 = 0x4030542a -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSBRKP = 0x5486 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETS2 = 0x8030542b -+ TCSETSF = 0x5410 -+ TCSETSF2 = 0x8030542d -+ TCSETSW = 0x540f -+ TCSETSW2 = 0x8030542c -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x40045430 -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x800854d5 -+ TUNDETACHFILTER = 0x800854d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale NFS file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "unknown error 168", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -new file mode 100644 -index 0000000..9c91dbf ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -@@ -0,0 +1,1965 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCFLSH = 0x5407 -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -new file mode 100644 -index 0000000..fb15b41 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -@@ -0,0 +1,1965 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips64le,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCFLSH = 0x5407 -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -new file mode 100644 -index 0000000..9a3a737 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -@@ -0,0 +1,2066 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mipsle,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x21 -+ F_GETLK64 = 0x21 -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x22 -+ F_SETLK64 = 0x22 -+ F_SETLKW = 0x23 -+ F_SETLKW64 = 0x23 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x18 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x14 -+ RTM_NR_MSGTYPES = 0x50 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_CAN_BASE = 0x64 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x33 -+ SO_ATTACH_REUSEPORT_EBPF = 0x34 -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_CNX_ADVICE = 0x35 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCGETS2 = 0x4030542a -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSBRKP = 0x5486 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETS2 = 0x8030542b -+ TCSETSF = 0x5410 -+ TCSETSF2 = 0x8030542d -+ TCSETSW = 0x540f -+ TCSETSW2 = 0x8030542c -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x800854d5 -+ TUNDETACHFILTER = 0x800854d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x400854db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -new file mode 100644 -index 0000000..4d602e6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -@@ -0,0 +1,2040 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build ppc64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x17 -+ B110 = 0x3 -+ B115200 = 0x11 -+ B1152000 = 0x18 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x19 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x1a -+ B230400 = 0x12 -+ B2400 = 0xb -+ B2500000 = 0x1b -+ B300 = 0x7 -+ B3000000 = 0x1c -+ B3500000 = 0x1d -+ B38400 = 0xf -+ B4000000 = 0x1e -+ B460800 = 0x13 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x14 -+ B57600 = 0x10 -+ B576000 = 0x15 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x16 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1f -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x8000 -+ BSDLY = 0x8000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0xff -+ CBAUDEX = 0x0 -+ CFLUSH = 0xf -+ CIBAUD = 0xff0000 -+ CLOCAL = 0x8000 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x1000 -+ CR2 = 0x2000 -+ CR3 = 0x3000 -+ CRDLY = 0x3000 -+ CREAD = 0x800 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIGNAL = 0xff -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0xd -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x4000 -+ IBSHIFT = 0x10 -+ ICANON = 0x100 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUCLC = 0x1000 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x80 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NL2 = 0x200 -+ NL3 = 0x300 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x300 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80000000 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x4 -+ ONLCR = 0x2 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x20000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x1000 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_SAO = 0x10 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETEVRREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GETVRREGS = 0x12 -+ PTRACE_GETVSRREGS = 0x1b -+ PTRACE_GET_DEBUGREG = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETEVRREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SETVRREGS = 0x13 -+ PTRACE_SETVSRREGS = 0x1c -+ PTRACE_SET_DEBUGREG = 0x1a -+ PTRACE_SINGLEBLOCK = 0x100 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_CCR = 0x26 -+ PT_CTR = 0x23 -+ PT_DAR = 0x29 -+ PT_DSCR = 0x2c -+ PT_DSISR = 0x2a -+ PT_FPR0 = 0x30 -+ PT_FPSCR = 0x50 -+ PT_LNK = 0x24 -+ PT_MSR = 0x21 -+ PT_NIP = 0x20 -+ PT_ORIG_R3 = 0x22 -+ PT_R0 = 0x0 -+ PT_R1 = 0x1 -+ PT_R10 = 0xa -+ PT_R11 = 0xb -+ PT_R12 = 0xc -+ PT_R13 = 0xd -+ PT_R14 = 0xe -+ PT_R15 = 0xf -+ PT_R16 = 0x10 -+ PT_R17 = 0x11 -+ PT_R18 = 0x12 -+ PT_R19 = 0x13 -+ PT_R2 = 0x2 -+ PT_R20 = 0x14 -+ PT_R21 = 0x15 -+ PT_R22 = 0x16 -+ PT_R23 = 0x17 -+ PT_R24 = 0x18 -+ PT_R25 = 0x19 -+ PT_R26 = 0x1a -+ PT_R27 = 0x1b -+ PT_R28 = 0x1c -+ PT_R29 = 0x1d -+ PT_R3 = 0x3 -+ PT_R30 = 0x1e -+ PT_R31 = 0x1f -+ PT_R4 = 0x4 -+ PT_R5 = 0x5 -+ PT_R6 = 0x6 -+ PT_R7 = 0x7 -+ PT_R8 = 0x8 -+ PT_R9 = 0x9 -+ PT_REGS_COUNT = 0x2c -+ PT_RESULT = 0x2b -+ PT_SOFTE = 0x27 -+ PT_TRAP = 0x28 -+ PT_VR0 = 0x52 -+ PT_VRSAVE = 0x94 -+ PT_VSCR = 0x93 -+ PT_VSR0 = 0x96 -+ PT_VSR31 = 0xd4 -+ PT_XER = 0x25 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x14 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x15 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x10 -+ SO_RCVTIMEO = 0x12 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x11 -+ SO_SNDTIMEO = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x400 -+ TAB2 = 0x800 -+ TAB3 = 0xc00 -+ TABDLY = 0xc00 -+ TCFLSH = 0x2000741f -+ TCGETA = 0x40147417 -+ TCGETS = 0x402c7413 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x2000741d -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80147418 -+ TCSETAF = 0x8014741c -+ TCSETAW = 0x80147419 -+ TCSETS = 0x802c7414 -+ TCSETSF = 0x802c7416 -+ TCSETSW = 0x802c7415 -+ TCXONC = 0x2000741e -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x40045432 -+ TIOCGETC = 0x40067412 -+ TIOCGETD = 0x5424 -+ TIOCGETP = 0x40067408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGLTC = 0x40067474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETC = 0x80067411 -+ TIOCSETD = 0x5423 -+ TIOCSETN = 0x8006740a -+ TIOCSETP = 0x80067409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSLTC = 0x80067475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x5412 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x400000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0x10 -+ VEOF = 0x4 -+ VEOL = 0x6 -+ VEOL2 = 0x8 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x5 -+ VQUIT = 0x1 -+ VREPRINT = 0xb -+ VSTART = 0xd -+ VSTOP = 0xe -+ VSUSP = 0xc -+ VSWTC = 0x9 -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x7 -+ VWERASE = 0xa -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4000 -+ XTABS = 0xc00 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x3a) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 58: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -new file mode 100644 -index 0000000..5280d9e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -@@ -0,0 +1,2036 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build ppc64le,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x17 -+ B110 = 0x3 -+ B115200 = 0x11 -+ B1152000 = 0x18 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x19 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x1a -+ B230400 = 0x12 -+ B2400 = 0xb -+ B2500000 = 0x1b -+ B300 = 0x7 -+ B3000000 = 0x1c -+ B3500000 = 0x1d -+ B38400 = 0xf -+ B4000000 = 0x1e -+ B460800 = 0x13 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x14 -+ B57600 = 0x10 -+ B576000 = 0x15 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x16 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1f -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x8000 -+ BSDLY = 0x8000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0xff -+ CBAUDEX = 0x0 -+ CFLUSH = 0xf -+ CIBAUD = 0xff0000 -+ CLOCAL = 0x8000 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x1000 -+ CR2 = 0x2000 -+ CR3 = 0x3000 -+ CRDLY = 0x3000 -+ CREAD = 0x800 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIGNAL = 0xff -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0xd -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x4000 -+ IBSHIFT = 0x10 -+ ICANON = 0x100 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LIVE_ADDR_CHANGE = 0x100000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN = 0x200000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_SUPP_NOFCS = 0x80000 -+ IFF_TAP = 0x2 -+ IFF_TEAM_PORT = 0x40000 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUCLC = 0x1000 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x80 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NL2 = 0x200 -+ NL3 = 0x300 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x300 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80000000 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x4 -+ ONLCR = 0x2 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x20000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x1000 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_SAO = 0x10 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETEVRREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GETVRREGS = 0x12 -+ PTRACE_GETVSRREGS = 0x1b -+ PTRACE_GET_DEBUGREG = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETEVRREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SETVRREGS = 0x13 -+ PTRACE_SETVSRREGS = 0x1c -+ PTRACE_SET_DEBUGREG = 0x1a -+ PTRACE_SINGLEBLOCK = 0x100 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_CCR = 0x26 -+ PT_CTR = 0x23 -+ PT_DAR = 0x29 -+ PT_DSCR = 0x2c -+ PT_DSISR = 0x2a -+ PT_FPR0 = 0x30 -+ PT_FPSCR = 0x50 -+ PT_LNK = 0x24 -+ PT_MSR = 0x21 -+ PT_NIP = 0x20 -+ PT_ORIG_R3 = 0x22 -+ PT_R0 = 0x0 -+ PT_R1 = 0x1 -+ PT_R10 = 0xa -+ PT_R11 = 0xb -+ PT_R12 = 0xc -+ PT_R13 = 0xd -+ PT_R14 = 0xe -+ PT_R15 = 0xf -+ PT_R16 = 0x10 -+ PT_R17 = 0x11 -+ PT_R18 = 0x12 -+ PT_R19 = 0x13 -+ PT_R2 = 0x2 -+ PT_R20 = 0x14 -+ PT_R21 = 0x15 -+ PT_R22 = 0x16 -+ PT_R23 = 0x17 -+ PT_R24 = 0x18 -+ PT_R25 = 0x19 -+ PT_R26 = 0x1a -+ PT_R27 = 0x1b -+ PT_R28 = 0x1c -+ PT_R29 = 0x1d -+ PT_R3 = 0x3 -+ PT_R30 = 0x1e -+ PT_R31 = 0x1f -+ PT_R4 = 0x4 -+ PT_R5 = 0x5 -+ PT_R6 = 0x6 -+ PT_R7 = 0x7 -+ PT_R8 = 0x8 -+ PT_R9 = 0x9 -+ PT_REGS_COUNT = 0x2c -+ PT_RESULT = 0x2b -+ PT_SOFTE = 0x27 -+ PT_TRAP = 0x28 -+ PT_VR0 = 0x52 -+ PT_VRSAVE = 0x94 -+ PT_VSCR = 0x93 -+ PT_VSR0 = 0x96 -+ PT_VSR31 = 0xd4 -+ PT_XER = 0x25 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x14 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x15 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x10 -+ SO_RCVTIMEO = 0x12 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x11 -+ SO_SNDTIMEO = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x400 -+ TAB2 = 0x800 -+ TAB3 = 0xc00 -+ TABDLY = 0xc00 -+ TCFLSH = 0x2000741f -+ TCGETA = 0x40147417 -+ TCGETS = 0x402c7413 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x2000741d -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80147418 -+ TCSETAF = 0x8014741c -+ TCSETAW = 0x80147419 -+ TCSETS = 0x802c7414 -+ TCSETSF = 0x802c7416 -+ TCSETSW = 0x802c7415 -+ TCXONC = 0x2000741e -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x40045432 -+ TIOCGETC = 0x40067412 -+ TIOCGETD = 0x5424 -+ TIOCGETP = 0x40067408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGLTC = 0x40067474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETC = 0x80067411 -+ TIOCSETD = 0x5423 -+ TIOCSETN = 0x8006740a -+ TIOCSETP = 0x80067409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSLTC = 0x80067475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x5412 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x400000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0x10 -+ VEOF = 0x4 -+ VEOL = 0x6 -+ VEOL2 = 0x8 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x5 -+ VQUIT = 0x1 -+ VREPRINT = 0xb -+ VSTART = 0xd -+ VSTOP = 0xe -+ VSUSP = 0xc -+ VSWTC = 0x9 -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x7 -+ VWERASE = 0xa -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4000 -+ XTABS = 0xc00 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x3a) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 58: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -new file mode 100644 -index 0000000..81ad7a8 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -@@ -0,0 +1,2093 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build s390x,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_DISABLE_TE = 0x5010 -+ PTRACE_ENABLE_TE = 0x5009 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_LAST_BREAK = 0x5006 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_AREA = 0x5003 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_AREA = 0x5002 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_PEEKUSR_AREA = 0x5000 -+ PTRACE_PEEK_SYSTEM_CALL = 0x5007 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_AREA = 0x5005 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_AREA = 0x5004 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_POKEUSR_AREA = 0x5001 -+ PTRACE_POKE_SYSTEM_CALL = 0x5008 -+ PTRACE_PROT = 0x15 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLEBLOCK = 0xc -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TE_ABORT_RAND = 0x5011 -+ PTRACE_TRACEME = 0x0 -+ PT_ACR0 = 0x90 -+ PT_ACR1 = 0x94 -+ PT_ACR10 = 0xb8 -+ PT_ACR11 = 0xbc -+ PT_ACR12 = 0xc0 -+ PT_ACR13 = 0xc4 -+ PT_ACR14 = 0xc8 -+ PT_ACR15 = 0xcc -+ PT_ACR2 = 0x98 -+ PT_ACR3 = 0x9c -+ PT_ACR4 = 0xa0 -+ PT_ACR5 = 0xa4 -+ PT_ACR6 = 0xa8 -+ PT_ACR7 = 0xac -+ PT_ACR8 = 0xb0 -+ PT_ACR9 = 0xb4 -+ PT_CR_10 = 0x168 -+ PT_CR_11 = 0x170 -+ PT_CR_9 = 0x160 -+ PT_ENDREGS = 0x1af -+ PT_FPC = 0xd8 -+ PT_FPR0 = 0xe0 -+ PT_FPR1 = 0xe8 -+ PT_FPR10 = 0x130 -+ PT_FPR11 = 0x138 -+ PT_FPR12 = 0x140 -+ PT_FPR13 = 0x148 -+ PT_FPR14 = 0x150 -+ PT_FPR15 = 0x158 -+ PT_FPR2 = 0xf0 -+ PT_FPR3 = 0xf8 -+ PT_FPR4 = 0x100 -+ PT_FPR5 = 0x108 -+ PT_FPR6 = 0x110 -+ PT_FPR7 = 0x118 -+ PT_FPR8 = 0x120 -+ PT_FPR9 = 0x128 -+ PT_GPR0 = 0x10 -+ PT_GPR1 = 0x18 -+ PT_GPR10 = 0x60 -+ PT_GPR11 = 0x68 -+ PT_GPR12 = 0x70 -+ PT_GPR13 = 0x78 -+ PT_GPR14 = 0x80 -+ PT_GPR15 = 0x88 -+ PT_GPR2 = 0x20 -+ PT_GPR3 = 0x28 -+ PT_GPR4 = 0x30 -+ PT_GPR5 = 0x38 -+ PT_GPR6 = 0x40 -+ PT_GPR7 = 0x48 -+ PT_GPR8 = 0x50 -+ PT_GPR9 = 0x58 -+ PT_IEEE_IP = 0x1a8 -+ PT_LASTOFF = 0x1a8 -+ PT_ORIGGPR2 = 0xd0 -+ PT_PSWADDR = 0x8 -+ PT_PSWMASK = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETBE = 0x400454de -+ TUNSETVNETHDRSZ = 0x400454d8 -+ TUNSETVNETLE = 0x400454dc -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -new file mode 100644 -index 0000000..95de199 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -@@ -0,0 +1,2142 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build sparc64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ ASI_LEON_DFLUSH = 0x11 -+ ASI_LEON_IFLUSH = 0x10 -+ ASI_LEON_MMUFLUSH = 0x18 -+ B0 = 0x0 -+ B1000000 = 0x100c -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x100d -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100e -+ B153600 = 0x1006 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100f -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B300 = 0x7 -+ B307200 = 0x1007 -+ B38400 = 0xf -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x100a -+ B57600 = 0x1001 -+ B576000 = 0x100b -+ B600 = 0x8 -+ B614400 = 0x1008 -+ B75 = 0x2 -+ B76800 = 0x1005 -+ B921600 = 0x1009 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EMT_TAGOVF = 0x1 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x400000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x7 -+ F_GETLK64 = 0x7 -+ F_GETOWN = 0x5 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x8 -+ F_SETLK64 = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKW64 = 0x9 -+ F_SETOWN = 0x6 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x3 -+ F_WRLCK = 0x2 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x400000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x4000 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x200 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x100 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MCL_ONFAULT = 0x8000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x100000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x2000 -+ O_EXCL = 0x800 -+ O_FSYNC = 0x802000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x4004 -+ O_NOATIME = 0x200000 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x4000 -+ O_PATH = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x802000 -+ O_SYNC = 0x802000 -+ O_TMPFILE = 0x2010000 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPAREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPREGS64 = 0x19 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_READDATA = 0x10 -+ PTRACE_READTEXT = 0x12 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPAREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPREGS64 = 0x1a -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SPARC_DETACH = 0xb -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PTRACE_WRITEDATA = 0x11 -+ PTRACE_WRITETEXT = 0x13 -+ PT_FP = 0x48 -+ PT_G0 = 0x10 -+ PT_G1 = 0x14 -+ PT_G2 = 0x18 -+ PT_G3 = 0x1c -+ PT_G4 = 0x20 -+ PT_G5 = 0x24 -+ PT_G6 = 0x28 -+ PT_G7 = 0x2c -+ PT_I0 = 0x30 -+ PT_I1 = 0x34 -+ PT_I2 = 0x38 -+ PT_I3 = 0x3c -+ PT_I4 = 0x40 -+ PT_I5 = 0x44 -+ PT_I6 = 0x48 -+ PT_I7 = 0x4c -+ PT_NPC = 0x8 -+ PT_PC = 0x4 -+ PT_PSR = 0x0 -+ PT_REGS_MAGIC = 0x57ac6c00 -+ PT_TNPC = 0x90 -+ PT_TPC = 0x88 -+ PT_TSTATE = 0x80 -+ PT_V9_FP = 0x70 -+ PT_V9_G0 = 0x0 -+ PT_V9_G1 = 0x8 -+ PT_V9_G2 = 0x10 -+ PT_V9_G3 = 0x18 -+ PT_V9_G4 = 0x20 -+ PT_V9_G5 = 0x28 -+ PT_V9_G6 = 0x30 -+ PT_V9_G7 = 0x38 -+ PT_V9_I0 = 0x40 -+ PT_V9_I1 = 0x48 -+ PT_V9_I2 = 0x50 -+ PT_V9_I3 = 0x58 -+ PT_V9_I4 = 0x60 -+ PT_V9_I5 = 0x68 -+ PT_V9_I6 = 0x70 -+ PT_V9_I7 = 0x78 -+ PT_V9_MAGIC = 0x9c -+ PT_V9_TNPC = 0x90 -+ PT_V9_TPC = 0x88 -+ PT_V9_TSTATE = 0x80 -+ PT_V9_Y = 0x98 -+ PT_WIM = 0x10 -+ PT_Y = 0xc -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x6 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x18 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x14 -+ RTM_NR_MSGTYPES = 0x50 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x23 -+ SCM_TIMESTAMPNS = 0x21 -+ SCM_WIFI_STATUS = 0x25 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCBONDCHANGEACTIVE = 0x8995 -+ SIOCBONDENSLAVE = 0x8990 -+ SIOCBONDINFOQUERY = 0x8994 -+ SIOCBONDRELEASE = 0x8991 -+ SIOCBONDSETHWADDR = 0x8992 -+ SIOCBONDSLAVEINFOQUERY = 0x8993 -+ SIOCBRADDBR = 0x89a0 -+ SIOCBRADDIF = 0x89a2 -+ SIOCBRDELBR = 0x89a1 -+ SIOCBRDELIF = 0x89a3 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCETHTOOL = 0x8946 -+ SIOCGARP = 0x8954 -+ SIOCGHWTSTAMP = 0x89b1 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGIFVLAN = 0x8982 -+ SIOCGMIIPHY = 0x8947 -+ SIOCGMIIREG = 0x8948 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCINQ = 0x4004667f -+ SIOCOUTQ = 0x40047473 -+ SIOCOUTQNSD = 0x894b -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSHWTSTAMP = 0x89b0 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSIFVLAN = 0x8983 -+ SIOCSMIIREG = 0x8949 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SIOCWANDEV = 0x894a -+ SOCK_CLOEXEC = 0x400000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x4000 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x8000 -+ SO_ATTACH_BPF = 0x34 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x35 -+ SO_ATTACH_REUSEPORT_EBPF = 0x36 -+ SO_BINDTODEVICE = 0xd -+ SO_BPF_EXTENSIONS = 0x32 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0x400 -+ SO_BUSY_POLL = 0x30 -+ SO_CNX_ADVICE = 0x37 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x33 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x28 -+ SO_MARK = 0x22 -+ SO_MAX_PACING_RATE = 0x31 -+ SO_NOFCS = 0x27 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x2 -+ SO_PASSSEC = 0x1f -+ SO_PEEK_OFF = 0x26 -+ SO_PEERCRED = 0x40 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x100b -+ SO_RCVLOWAT = 0x800 -+ SO_RCVTIMEO = 0x2000 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x24 -+ SO_SECURITY_AUTHENTICATION = 0x5001 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 -+ SO_SELECT_ERR_QUEUE = 0x29 -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x100a -+ SO_SNDLOWAT = 0x1000 -+ SO_SNDTIMEO = 0x4000 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x23 -+ SO_TIMESTAMPNS = 0x21 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x25 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x20005407 -+ TCGETA = 0x40125401 -+ TCGETS = 0x40245408 -+ TCGETS2 = 0x402c540c -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x20005405 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80125402 -+ TCSETAF = 0x80125404 -+ TCSETAW = 0x80125403 -+ TCSETS = 0x80245409 -+ TCSETS2 = 0x802c540d -+ TCSETSF = 0x8024540b -+ TCSETSF2 = 0x802c540f -+ TCSETSW = 0x8024540a -+ TCSETSW2 = 0x802c540e -+ TCXONC = 0x20005406 -+ TIOCCBRK = 0x2000747a -+ TIOCCONS = 0x20007424 -+ TIOCEXCL = 0x2000740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x40047400 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x40047483 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40047486 -+ TIOCGRS485 = 0x40205441 -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x40047485 -+ TIOCGSOFTCAR = 0x40047464 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007484 -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x80047401 -+ TIOCSIG = 0x80047488 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x80047482 -+ TIOCSPTLCK = 0x80047487 -+ TIOCSRS485 = 0xc0205442 -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x80047465 -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x20005437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VDSUSP = 0xb -+ VEOF = 0x4 -+ VEOL = 0x5 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WRAP = 0x20000 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+ __TIOCFLUSH = 0x80047410 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EADV = syscall.Errno(0x53) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x25) -+ EBADE = syscall.Errno(0x66) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x5d) -+ EBADMSG = syscall.Errno(0x4c) -+ EBADR = syscall.Errno(0x67) -+ EBADRQC = syscall.Errno(0x6a) -+ EBADSLT = syscall.Errno(0x6b) -+ EBFONT = syscall.Errno(0x6d) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7f) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x5e) -+ ECOMM = syscall.Errno(0x55) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0x4e) -+ EDEADLOCK = syscall.Errno(0x6c) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EHWPOISON = syscall.Errno(0x87) -+ EIDRM = syscall.Errno(0x4d) -+ EILSEQ = syscall.Errno(0x7a) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x81) -+ EKEYREJECTED = syscall.Errno(0x83) -+ EKEYREVOKED = syscall.Errno(0x82) -+ EL2HLT = syscall.Errno(0x65) -+ EL2NSYNC = syscall.Errno(0x5f) -+ EL3HLT = syscall.Errno(0x60) -+ EL3RST = syscall.Errno(0x61) -+ ELIBACC = syscall.Errno(0x72) -+ ELIBBAD = syscall.Errno(0x70) -+ ELIBEXEC = syscall.Errno(0x6e) -+ ELIBMAX = syscall.Errno(0x7b) -+ ELIBSCN = syscall.Errno(0x7c) -+ ELNRNG = syscall.Errno(0x62) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x7e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x57) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x69) -+ ENOBUFS = syscall.Errno(0x37) -+ ENOCSI = syscall.Errno(0x64) -+ ENODATA = syscall.Errno(0x6f) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x80) -+ ENOLCK = syscall.Errno(0x4f) -+ ENOLINK = syscall.Errno(0x52) -+ ENOMEDIUM = syscall.Errno(0x7d) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x4b) -+ ENONET = syscall.Errno(0x50) -+ ENOPKG = syscall.Errno(0x71) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x4a) -+ ENOSTR = syscall.Errno(0x48) -+ ENOSYS = syscall.Errno(0x5a) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x85) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x73) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x5c) -+ EOWNERDEAD = syscall.Errno(0x84) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROTO = syscall.Errno(0x56) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x59) -+ EREMOTE = syscall.Errno(0x47) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x74) -+ ERFKILL = syscall.Errno(0x86) -+ EROFS = syscall.Errno(0x1e) -+ ERREMOTE = syscall.Errno(0x51) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x54) -+ ESTALE = syscall.Errno(0x46) -+ ESTRPIPE = syscall.Errno(0x5b) -+ ETIME = syscall.Errno(0x49) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x63) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x68) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLOST = syscall.Signal(0x1d) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x17) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1d) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol", -+ 48: "address already in use", -+ 49: "cannot assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "transport endpoint is already connected", -+ 57: "transport endpoint is not connected", -+ 58: "cannot send after transport endpoint shutdown", -+ 59: "too many references: cannot splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disk quota exceeded", -+ 70: "stale file handle", -+ 71: "object is remote", -+ 72: "device not a stream", -+ 73: "timer expired", -+ 74: "out of streams resources", -+ 75: "no message of desired type", -+ 76: "bad message", -+ 77: "identifier removed", -+ 78: "resource deadlock avoided", -+ 79: "no locks available", -+ 80: "machine is not on the network", -+ 81: "unknown error 81", -+ 82: "link has been severed", -+ 83: "advertise error", -+ 84: "srmount error", -+ 85: "communication error on send", -+ 86: "protocol error", -+ 87: "multihop attempted", -+ 88: "RFS specific error", -+ 89: "remote address changed", -+ 90: "function not implemented", -+ 91: "streams pipe error", -+ 92: "value too large for defined data type", -+ 93: "file descriptor in bad state", -+ 94: "channel number out of range", -+ 95: "level 2 not synchronized", -+ 96: "level 3 halted", -+ 97: "level 3 reset", -+ 98: "link number out of range", -+ 99: "protocol driver not attached", -+ 100: "no CSI structure available", -+ 101: "level 2 halted", -+ 102: "invalid exchange", -+ 103: "invalid request descriptor", -+ 104: "exchange full", -+ 105: "no anode", -+ 106: "invalid request code", -+ 107: "invalid slot", -+ 108: "file locking deadlock error", -+ 109: "bad font file format", -+ 110: "cannot exec a shared library directly", -+ 111: "no data available", -+ 112: "accessing a corrupted shared library", -+ 113: "package not installed", -+ 114: "can not access a needed shared library", -+ 115: "name not unique on network", -+ 116: "interrupted system call should be restarted", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "invalid or incomplete multibyte or wide character", -+ 123: "attempting to link in too many shared libraries", -+ 124: ".lib section in a.out corrupted", -+ 125: "no medium found", -+ 126: "wrong medium type", -+ 127: "operation canceled", -+ 128: "required key not available", -+ 129: "key has expired", -+ 130: "key has been revoked", -+ 131: "key was rejected by service", -+ 132: "owner died", -+ 133: "state not recoverable", -+ 134: "operation not possible due to RF-kill", -+ 135: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "resource lost", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -new file mode 100644 -index 0000000..b4338d5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -@@ -0,0 +1,1712 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x400c427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x800c427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80084272 -+ BIOCSUDPF = 0x80084273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLONE_CSIGNAL = 0xff -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_PID = 0x1000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ EN_SW_CTL_INF = 0x1000 -+ EN_SW_CTL_PREC = 0x300 -+ EN_SW_CTL_ROUND = 0xc00 -+ EN_SW_DATACHAIN = 0x80 -+ EN_SW_DENORM = 0x2 -+ EN_SW_INVOP = 0x1 -+ EN_SW_OVERFLOW = 0x8 -+ EN_SW_PRECLOSS = 0x20 -+ EN_SW_UNDERFLOW = 0x10 -+ EN_SW_ZERODIV = 0x4 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x4 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0946920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0086926 -+ SIOCGIFDATA = 0xc0946985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc01c6987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCINITIFADDR = 0xc0446984 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8094691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x801c6988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0946986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ S_LOGIN_SET = 0x1 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x400c7458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x40287446 -+ TIOCPTSNAME = 0x40287448 -+ TIOCRCVFRAME = 0x80047445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80047444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -new file mode 100644 -index 0000000..4994437 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -@@ -0,0 +1,1702 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x4010427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x8010427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80104272 -+ BIOCSUDPF = 0x80104273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLONE_CSIGNAL = 0xff -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_PID = 0x1000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x4 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8038720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8038720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0207534 -+ SIOCGETVIFCNT = 0xc0287533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0986920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0106926 -+ SIOCGIFDATA = 0xc0986985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0306936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc0286987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCINITIFADDR = 0xc0706984 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8098691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x80286988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0986986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ S_LOGIN_SET = 0x1 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x40287446 -+ TIOCPTSNAME = 0x40287448 -+ TIOCRCVFRAME = 0x80087445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80087444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -new file mode 100644 -index 0000000..ac85ca6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -@@ -0,0 +1,1688 @@ -+// mkerrors.sh -marm -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -marm _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x400c427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x800c427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80084272 -+ BIOCSUDPF = 0x80084273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0946920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0086926 -+ SIOCGIFDATA = 0xc0946985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc01c6987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCINITIFADDR = 0xc0446984 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8094691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x801c6988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0946986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x400c7458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x48087446 -+ TIOCPTSNAME = 0x48087448 -+ TIOCRCVFRAME = 0x80047445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80047444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -new file mode 100644 -index 0000000..3322e99 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -@@ -0,0 +1,1584 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,openbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_BLUETOOTH = 0x20 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_ENCAP = 0x1c -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_KEY = 0x1e -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x1d -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRFILT = 0x4004427c -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc008427b -+ BIOCGETIF = 0x4020426b -+ BIOCGFILDROP = 0x40044278 -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044273 -+ BIOCGRTIMEOUT = 0x400c426e -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x20004276 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRFILT = 0x8004427d -+ BIOCSDLT = 0x8004427a -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x80084277 -+ BIOCSFILDROP = 0x80044279 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044272 -+ BIOCSRTIMEOUT = 0x800c426d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIRECTION_IN = 0x1 -+ BPF_DIRECTION_OUT = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x200000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0xff -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DIOCOSFPFLUSH = 0x2000444e -+ DLT_ARCNET = 0x7 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0xd -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_LOOP = 0xc -+ DLT_MPLS = 0xdb -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xe -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMT_TAGOVF = 0x1 -+ EMUL_ENABLED = 0x1 -+ EMUL_NATIVE = 0x2 -+ ENDRUNDISC = 0x9 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_AOE = 0x88a2 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LLDP = 0x88cc -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_QINQ = 0x88a8 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOW = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_ALIGN = 0x2 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_DIX_LEN = 0x600 -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MIN_LEN = 0x40 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = -0x3 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xa -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8e52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BLUETOOTH = 0xf8 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf7 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DUMMY = 0xf1 -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf3 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFLOW = 0xf9 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf2 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_HOST = 0x1 -+ IN_RFC3021_NET = 0xfffffffe -+ IN_RFC3021_NSHIFT = 0x1f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DIVERT_INIT = 0x2 -+ IPPROTO_DIVERT_RESP = 0x1 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x103 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPV6_AUTH_LEVEL = 0x35 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_ESP_NETWORK_LEVEL = 0x37 -+ IPV6_ESP_TRANS_LEVEL = 0x36 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPCOMP_LEVEL = 0x3c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_OPTIONS = 0x1 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PIPEX = 0x3f -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVDSTPORT = 0x40 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTABLE = 0x1021 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_AUTH_LEVEL = 0x14 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DIVERTFL = 0x1022 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_ESP_NETWORK_LEVEL = 0x16 -+ IP_ESP_TRANS_LEVEL = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPCOMP_LEVEL = 0x1d -+ IP_IPSECFLOWINFO = 0x24 -+ IP_IPSEC_LOCAL_AUTH = 0x1b -+ IP_IPSEC_LOCAL_CRED = 0x19 -+ IP_IPSEC_LOCAL_ID = 0x17 -+ IP_IPSEC_REMOTE_AUTH = 0x1c -+ IP_IPSEC_REMOTE_CRED = 0x1a -+ IP_IPSEC_REMOTE_ID = 0x18 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x20 -+ IP_MIN_MEMBERSHIPS = 0xf -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PIPEX = 0x22 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVDSTPORT = 0x21 -+ IP_RECVIF = 0x1e -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVRTABLE = 0x23 -+ IP_RECVTTL = 0x1f -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RTABLE = 0x1021 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LCNT_OVERLOAD_FLUSH = 0x6 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x4 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FLAGMASK = 0x1ff7 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TRYFIXED = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_MCAST = 0x200 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x4 -+ MS_SYNC = 0x2 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x6 -+ NET_RT_STATS = 0x4 -+ NET_RT_TABLE = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EOF = 0x2 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRUNCATE = 0x80 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x80 -+ ONOCR = 0x40 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x10000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x20000 -+ O_DSYNC = 0x80 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x80 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PF_FLUSH = 0x1 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_MASK = 0x3ff000 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_LABEL = 0xa -+ RTAX_MAX = 0xb -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTAX_SRCMASK = 0x9 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_LABEL = 0x400 -+ RTA_NETMASK = 0x4 -+ RTA_SRC = 0x100 -+ RTA_SRCMASK = 0x200 -+ RTF_ANNOUNCE = 0x4000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x10000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x10f808 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MPATH = 0x40000 -+ RTF_MPLS = 0x100000 -+ RTF_PERMANENT_ARP = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x2000 -+ RTF_REJECT = 0x8 -+ RTF_SOURCE = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_TUNNEL = 0x100000 -+ RTF_UP = 0x1 -+ RTF_USETRAILERS = 0x8000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DESYNC = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFANNOUNCE = 0xf -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MAXSIZE = 0x800 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_TABLEID_MAX = 0xff -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8218691c -+ SIOCATMARK = 0x40047307 -+ SIOCBRDGADD = 0x8054693c -+ SIOCBRDGADDS = 0x80546941 -+ SIOCBRDGARL = 0x806e694d -+ SIOCBRDGDADDR = 0x81286947 -+ SIOCBRDGDEL = 0x8054693d -+ SIOCBRDGDELS = 0x80546942 -+ SIOCBRDGFLUSH = 0x80546948 -+ SIOCBRDGFRL = 0x806e694e -+ SIOCBRDGGCACHE = 0xc0146941 -+ SIOCBRDGGFD = 0xc0146952 -+ SIOCBRDGGHT = 0xc0146951 -+ SIOCBRDGGIFFLGS = 0xc054693e -+ SIOCBRDGGMA = 0xc0146953 -+ SIOCBRDGGPARAM = 0xc03c6958 -+ SIOCBRDGGPRI = 0xc0146950 -+ SIOCBRDGGRL = 0xc028694f -+ SIOCBRDGGSIFS = 0xc054693c -+ SIOCBRDGGTO = 0xc0146946 -+ SIOCBRDGIFS = 0xc0546942 -+ SIOCBRDGRTS = 0xc0186943 -+ SIOCBRDGSADDR = 0xc1286944 -+ SIOCBRDGSCACHE = 0x80146940 -+ SIOCBRDGSFD = 0x80146952 -+ SIOCBRDGSHT = 0x80146951 -+ SIOCBRDGSIFCOST = 0x80546955 -+ SIOCBRDGSIFFLGS = 0x8054693f -+ SIOCBRDGSIFPRIO = 0x80546954 -+ SIOCBRDGSMA = 0x80146953 -+ SIOCBRDGSPRI = 0x80146950 -+ SIOCBRDGSPROTO = 0x8014695a -+ SIOCBRDGSTO = 0x80146945 -+ SIOCBRDGSTXHC = 0x80146959 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8218691e -+ SIOCGETKALIVE = 0xc01869a4 -+ SIOCGETLABEL = 0x8020699a -+ SIOCGETPFLOW = 0xc02069fe -+ SIOCGETPFSYNC = 0xc02069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGETVLAN = 0xc0206990 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDATA = 0xc020691b -+ SIOCGIFDESCR = 0xc0206981 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGATTR = 0xc024698b -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFHARDMTU = 0xc02069a5 -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc020697e -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPRIORITY = 0xc020699c -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFRDOMAIN = 0xc02069a0 -+ SIOCGIFRTLABEL = 0xc0206983 -+ SIOCGIFTIMESLOT = 0xc0206986 -+ SIOCGIFXFLAGS = 0xc020699e -+ SIOCGLIFADDR = 0xc218691d -+ SIOCGLIFPHYADDR = 0xc218694b -+ SIOCGLIFPHYRTABLE = 0xc02069a2 -+ SIOCGLIFPHYTTL = 0xc02069a9 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGSPPPPARAMS = 0xc0206994 -+ SIOCGVH = 0xc02069f6 -+ SIOCGVNETID = 0xc02069a7 -+ SIOCIFCREATE = 0x8020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSETKALIVE = 0x801869a3 -+ SIOCSETLABEL = 0x80206999 -+ SIOCSETPFLOW = 0x802069fd -+ SIOCSETPFSYNC = 0x802069f7 -+ SIOCSETVLAN = 0x8020698f -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFDESCR = 0x80206980 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGATTR = 0x8024698c -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020691f -+ SIOCSIFMEDIA = 0xc0206935 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x8020697f -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPRIORITY = 0x8020699b -+ SIOCSIFRDOMAIN = 0x8020699f -+ SIOCSIFRTLABEL = 0x80206982 -+ SIOCSIFTIMESLOT = 0x80206985 -+ SIOCSIFXFLAGS = 0x8020699d -+ SIOCSLIFPHYADDR = 0x8218694a -+ SIOCSLIFPHYRTABLE = 0x802069a1 -+ SIOCSLIFPHYTTL = 0x802069a8 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSSPPPPARAMS = 0x80206993 -+ SIOCSVH = 0xc02069f5 -+ SIOCSVNETID = 0x802069a6 -+ SOCK_DGRAM = 0x2 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BINDANY = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NETPROC = 0x1020 -+ SO_OOBINLINE = 0x100 -+ SO_PEERCRED = 0x1022 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RTABLE = 0x1021 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_SPLICE = 0x1023 -+ SO_TIMESTAMP = 0x800 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x3 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x4 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOPUSH = 0x10 -+ TCP_NSTATES = 0xb -+ TCP_SACK_ENABLE = 0x8 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_PPS = 0x10 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGTSTAMP = 0x400c745b -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x4004746a -+ TIOCMODS = 0x8004746d -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x8004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSTSTAMP = 0x8008745a -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALTSIG = 0x4 -+ WCONTINUED = 0x8 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x58) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x59) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EIPSEC = syscall.Errno(0x52) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x5b) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x56) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x53) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOMEDIUM = syscall.Errno(0x55) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5a) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x5b) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x57) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "IPsec processing failure", -+ 83: "attribute not found", -+ 84: "illegal byte sequence", -+ 85: "no medium found", -+ 86: "wrong medium type", -+ 87: "value too large to be stored in data type", -+ 88: "operation canceled", -+ 89: "identifier removed", -+ 90: "no message of desired type", -+ 91: "not supported", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread AST", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -new file mode 100644 -index 0000000..1758ecc ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -@@ -0,0 +1,1583 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,openbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_BLUETOOTH = 0x20 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_ENCAP = 0x1c -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_KEY = 0x1e -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x1d -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRFILT = 0x4004427c -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc010427b -+ BIOCGETIF = 0x4020426b -+ BIOCGFILDROP = 0x40044278 -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044273 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x20004276 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRFILT = 0x8004427d -+ BIOCSDLT = 0x8004427a -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x80104277 -+ BIOCSFILDROP = 0x80044279 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044272 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIRECTION_IN = 0x1 -+ BPF_DIRECTION_OUT = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x200000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0xff -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DIOCOSFPFLUSH = 0x2000444e -+ DLT_ARCNET = 0x7 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0xd -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_LOOP = 0xc -+ DLT_MPLS = 0xdb -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xe -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMT_TAGOVF = 0x1 -+ EMUL_ENABLED = 0x1 -+ EMUL_NATIVE = 0x2 -+ ENDRUNDISC = 0x9 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_AOE = 0x88a2 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LLDP = 0x88cc -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_QINQ = 0x88a8 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOW = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_ALIGN = 0x2 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_DIX_LEN = 0x600 -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MIN_LEN = 0x40 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = -0x3 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xa -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8e52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BLUETOOTH = 0xf8 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf7 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DUMMY = 0xf1 -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf3 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFLOW = 0xf9 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf2 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_HOST = 0x1 -+ IN_RFC3021_NET = 0xfffffffe -+ IN_RFC3021_NSHIFT = 0x1f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DIVERT_INIT = 0x2 -+ IPPROTO_DIVERT_RESP = 0x1 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x103 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPV6_AUTH_LEVEL = 0x35 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_ESP_NETWORK_LEVEL = 0x37 -+ IPV6_ESP_TRANS_LEVEL = 0x36 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPCOMP_LEVEL = 0x3c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_OPTIONS = 0x1 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PIPEX = 0x3f -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVDSTPORT = 0x40 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTABLE = 0x1021 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_AUTH_LEVEL = 0x14 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DIVERTFL = 0x1022 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_ESP_NETWORK_LEVEL = 0x16 -+ IP_ESP_TRANS_LEVEL = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPCOMP_LEVEL = 0x1d -+ IP_IPSECFLOWINFO = 0x24 -+ IP_IPSEC_LOCAL_AUTH = 0x1b -+ IP_IPSEC_LOCAL_CRED = 0x19 -+ IP_IPSEC_LOCAL_ID = 0x17 -+ IP_IPSEC_REMOTE_AUTH = 0x1c -+ IP_IPSEC_REMOTE_CRED = 0x1a -+ IP_IPSEC_REMOTE_ID = 0x18 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x20 -+ IP_MIN_MEMBERSHIPS = 0xf -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PIPEX = 0x22 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVDSTPORT = 0x21 -+ IP_RECVIF = 0x1e -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVRTABLE = 0x23 -+ IP_RECVTTL = 0x1f -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RTABLE = 0x1021 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LCNT_OVERLOAD_FLUSH = 0x6 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x4 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FLAGMASK = 0x1ff7 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TRYFIXED = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_MCAST = 0x200 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x4 -+ MS_SYNC = 0x2 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x6 -+ NET_RT_STATS = 0x4 -+ NET_RT_TABLE = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EOF = 0x2 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRUNCATE = 0x80 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x80 -+ ONOCR = 0x40 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x10000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x20000 -+ O_DSYNC = 0x80 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x80 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PF_FLUSH = 0x1 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_LABEL = 0xa -+ RTAX_MAX = 0xb -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTAX_SRCMASK = 0x9 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_LABEL = 0x400 -+ RTA_NETMASK = 0x4 -+ RTA_SRC = 0x100 -+ RTA_SRCMASK = 0x200 -+ RTF_ANNOUNCE = 0x4000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x10000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x10f808 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MPATH = 0x40000 -+ RTF_MPLS = 0x100000 -+ RTF_PERMANENT_ARP = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x2000 -+ RTF_REJECT = 0x8 -+ RTF_SOURCE = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_TUNNEL = 0x100000 -+ RTF_UP = 0x1 -+ RTF_USETRAILERS = 0x8000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DESYNC = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFANNOUNCE = 0xf -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MAXSIZE = 0x800 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_TABLEID_MAX = 0xff -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80286987 -+ SIOCALIFADDR = 0x8218691c -+ SIOCATMARK = 0x40047307 -+ SIOCBRDGADD = 0x8058693c -+ SIOCBRDGADDS = 0x80586941 -+ SIOCBRDGARL = 0x806e694d -+ SIOCBRDGDADDR = 0x81286947 -+ SIOCBRDGDEL = 0x8058693d -+ SIOCBRDGDELS = 0x80586942 -+ SIOCBRDGFLUSH = 0x80586948 -+ SIOCBRDGFRL = 0x806e694e -+ SIOCBRDGGCACHE = 0xc0146941 -+ SIOCBRDGGFD = 0xc0146952 -+ SIOCBRDGGHT = 0xc0146951 -+ SIOCBRDGGIFFLGS = 0xc058693e -+ SIOCBRDGGMA = 0xc0146953 -+ SIOCBRDGGPARAM = 0xc0406958 -+ SIOCBRDGGPRI = 0xc0146950 -+ SIOCBRDGGRL = 0xc030694f -+ SIOCBRDGGSIFS = 0xc058693c -+ SIOCBRDGGTO = 0xc0146946 -+ SIOCBRDGIFS = 0xc0586942 -+ SIOCBRDGRTS = 0xc0206943 -+ SIOCBRDGSADDR = 0xc1286944 -+ SIOCBRDGSCACHE = 0x80146940 -+ SIOCBRDGSFD = 0x80146952 -+ SIOCBRDGSHT = 0x80146951 -+ SIOCBRDGSIFCOST = 0x80586955 -+ SIOCBRDGSIFFLGS = 0x8058693f -+ SIOCBRDGSIFPRIO = 0x80586954 -+ SIOCBRDGSMA = 0x80146953 -+ SIOCBRDGSPRI = 0x80146950 -+ SIOCBRDGSPROTO = 0x8014695a -+ SIOCBRDGSTO = 0x80146945 -+ SIOCBRDGSTXHC = 0x80146959 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80286989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8218691e -+ SIOCGETKALIVE = 0xc01869a4 -+ SIOCGETLABEL = 0x8020699a -+ SIOCGETPFLOW = 0xc02069fe -+ SIOCGETPFSYNC = 0xc02069f8 -+ SIOCGETSGCNT = 0xc0207534 -+ SIOCGETVIFCNT = 0xc0287533 -+ SIOCGETVLAN = 0xc0206990 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDATA = 0xc020691b -+ SIOCGIFDESCR = 0xc0206981 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGATTR = 0xc028698b -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFGROUP = 0xc0286988 -+ SIOCGIFHARDMTU = 0xc02069a5 -+ SIOCGIFMEDIA = 0xc0306936 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc020697e -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPRIORITY = 0xc020699c -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFRDOMAIN = 0xc02069a0 -+ SIOCGIFRTLABEL = 0xc0206983 -+ SIOCGIFTIMESLOT = 0xc0206986 -+ SIOCGIFXFLAGS = 0xc020699e -+ SIOCGLIFADDR = 0xc218691d -+ SIOCGLIFPHYADDR = 0xc218694b -+ SIOCGLIFPHYRTABLE = 0xc02069a2 -+ SIOCGLIFPHYTTL = 0xc02069a9 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGSPPPPARAMS = 0xc0206994 -+ SIOCGVH = 0xc02069f6 -+ SIOCGVNETID = 0xc02069a7 -+ SIOCIFCREATE = 0x8020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSETKALIVE = 0x801869a3 -+ SIOCSETLABEL = 0x80206999 -+ SIOCSETPFLOW = 0x802069fd -+ SIOCSETPFSYNC = 0x802069f7 -+ SIOCSETVLAN = 0x8020698f -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFDESCR = 0x80206980 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGATTR = 0x8028698c -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020691f -+ SIOCSIFMEDIA = 0xc0206935 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x8020697f -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPRIORITY = 0x8020699b -+ SIOCSIFRDOMAIN = 0x8020699f -+ SIOCSIFRTLABEL = 0x80206982 -+ SIOCSIFTIMESLOT = 0x80206985 -+ SIOCSIFXFLAGS = 0x8020699d -+ SIOCSLIFPHYADDR = 0x8218694a -+ SIOCSLIFPHYRTABLE = 0x802069a1 -+ SIOCSLIFPHYTTL = 0x802069a8 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSSPPPPARAMS = 0x80206993 -+ SIOCSVH = 0xc02069f5 -+ SIOCSVNETID = 0x802069a6 -+ SOCK_DGRAM = 0x2 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BINDANY = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NETPROC = 0x1020 -+ SO_OOBINLINE = 0x100 -+ SO_PEERCRED = 0x1022 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RTABLE = 0x1021 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_SPLICE = 0x1023 -+ SO_TIMESTAMP = 0x800 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x3 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x4 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOPUSH = 0x10 -+ TCP_NSTATES = 0xb -+ TCP_SACK_ENABLE = 0x8 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_PPS = 0x10 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGTSTAMP = 0x4010745b -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x4004746a -+ TIOCMODS = 0x8004746d -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x8004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSTSTAMP = 0x8008745a -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALTSIG = 0x4 -+ WCONTINUED = 0x8 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x58) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x59) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EIPSEC = syscall.Errno(0x52) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x5b) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x56) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x53) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOMEDIUM = syscall.Errno(0x55) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5a) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x5b) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x57) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "IPsec processing failure", -+ 83: "attribute not found", -+ 84: "illegal byte sequence", -+ 85: "no medium found", -+ 86: "wrong medium type", -+ 87: "value too large to be stored in data type", -+ 88: "operation canceled", -+ 89: "identifier removed", -+ 90: "no message of desired type", -+ 91: "not supported", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread AST", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -new file mode 100644 -index 0000000..a08922b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -@@ -0,0 +1,1436 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,solaris -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_802 = 0x12 -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_ECMA = 0x8 -+ AF_FILE = 0x1 -+ AF_GOSIP = 0x16 -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1a -+ AF_INET_OFFLOAD = 0x1e -+ AF_IPX = 0x17 -+ AF_KEY = 0x1b -+ AF_LAT = 0xe -+ AF_LINK = 0x19 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x20 -+ AF_NBS = 0x7 -+ AF_NCA = 0x1c -+ AF_NIT = 0x11 -+ AF_NS = 0x6 -+ AF_OSI = 0x13 -+ AF_OSINET = 0x15 -+ AF_PACKET = 0x20 -+ AF_POLICY = 0x1d -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x18 -+ AF_SNA = 0xb -+ AF_TRILL = 0x1f -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_X25 = 0x14 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ATM = 0x10 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FC = 0x12 -+ ARPHRD_FRAME = 0xf -+ ARPHRD_HDLC = 0x11 -+ ARPHRD_IB = 0x20 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IPATM = 0x13 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_TUNNEL = 0x1f -+ B0 = 0x0 -+ B110 = 0x3 -+ B115200 = 0x12 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B153600 = 0x13 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B230400 = 0x14 -+ B2400 = 0xb -+ B300 = 0x7 -+ B307200 = 0x15 -+ B38400 = 0xf -+ B460800 = 0x16 -+ B4800 = 0xc -+ B50 = 0x1 -+ B57600 = 0x10 -+ B600 = 0x8 -+ B75 = 0x2 -+ B76800 = 0x11 -+ B921600 = 0x17 -+ B9600 = 0xd -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = -0x3fefbd89 -+ BIOCGDLTLIST32 = -0x3ff7bd89 -+ BIOCGETIF = 0x4020426b -+ BIOCGETLIF = 0x4078426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x4010427b -+ BIOCGRTIMEOUT32 = 0x4008427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = -0x7ffbbd90 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = -0x3ffbbd9a -+ BIOCSDLT = -0x7ffbbd8a -+ BIOCSETF = -0x7fefbd99 -+ BIOCSETF32 = -0x7ff7bd99 -+ BIOCSETIF = -0x7fdfbd94 -+ BIOCSETLIF = -0x7f87bd94 -+ BIOCSHDRCMPLT = -0x7ffbbd8b -+ BIOCSRTIMEOUT = -0x7fefbd86 -+ BIOCSRTIMEOUT32 = -0x7ff7bd86 -+ BIOCSSEESENT = -0x7ffbbd87 -+ BIOCSTCPF = -0x7fefbd8e -+ BIOCSUDPF = -0x7fefbd8d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_HIGHRES = 0x4 -+ CLOCK_LEVEL = 0xa -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x5 -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x3 -+ CLOCK_THREAD_CPUTIME_ID = 0x2 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ CSWTCH = 0x1a -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FDDI = 0xa -+ DLT_FRELAY = 0x6b -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xa2 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EMPTY_SET = 0x0 -+ EMT_CPCOVF = 0x1 -+ EQUALITY_CHECK = 0x0 -+ EXTA = 0xe -+ EXTB = 0xf -+ FD_CLOEXEC = 0x1 -+ FD_NFDBITS = 0x40 -+ FD_SETSIZE = 0x10000 -+ FLUSHALL = 0x1 -+ FLUSHDATA = 0x0 -+ FLUSHO = 0x2000 -+ F_ALLOCSP = 0xa -+ F_ALLOCSP64 = 0xa -+ F_BADFD = 0x2e -+ F_BLKSIZE = 0x13 -+ F_BLOCKS = 0x12 -+ F_CHKFL = 0x8 -+ F_COMPAT = 0x8 -+ F_DUP2FD = 0x9 -+ F_DUP2FD_CLOEXEC = 0x24 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x25 -+ F_FREESP = 0xb -+ F_FREESP64 = 0xb -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETXFL = 0x2d -+ F_HASREMOTELOCKS = 0x1a -+ F_ISSTREAM = 0xd -+ F_MANDDNY = 0x10 -+ F_MDACC = 0x20 -+ F_NODNY = 0x0 -+ F_NPRIV = 0x10 -+ F_PRIV = 0xf -+ F_QUOTACTL = 0x11 -+ F_RDACC = 0x1 -+ F_RDDNY = 0x1 -+ F_RDLCK = 0x1 -+ F_REVOKE = 0x19 -+ F_RMACC = 0x4 -+ F_RMDNY = 0x4 -+ F_RWACC = 0x3 -+ F_RWDNY = 0x3 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLK64_NBMAND = 0x2a -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETLK_NBMAND = 0x2a -+ F_SETOWN = 0x18 -+ F_SHARE = 0x28 -+ F_SHARE_NBMAND = 0x2b -+ F_UNLCK = 0x3 -+ F_UNLKSYS = 0x4 -+ F_UNSHARE = 0x29 -+ F_WRACC = 0x2 -+ F_WRDNY = 0x2 -+ F_WRLCK = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFF_ADDRCONF = 0x80000 -+ IFF_ALLMULTI = 0x200 -+ IFF_ANYCAST = 0x400000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x7f203003b5a -+ IFF_COS_ENABLED = 0x200000000 -+ IFF_DEBUG = 0x4 -+ IFF_DEPRECATED = 0x40000 -+ IFF_DHCPRUNNING = 0x4000 -+ IFF_DUPLICATE = 0x4000000000 -+ IFF_FAILED = 0x10000000 -+ IFF_FIXEDMTU = 0x1000000000 -+ IFF_INACTIVE = 0x40000000 -+ IFF_INTELLIGENT = 0x400 -+ IFF_IPMP = 0x8000000000 -+ IFF_IPMP_CANTCHANGE = 0x10000000 -+ IFF_IPMP_INVALID = 0x1ec200080 -+ IFF_IPV4 = 0x1000000 -+ IFF_IPV6 = 0x2000000 -+ IFF_L3PROTECT = 0x40000000000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x800 -+ IFF_MULTI_BCAST = 0x1000 -+ IFF_NOACCEPT = 0x4000000 -+ IFF_NOARP = 0x80 -+ IFF_NOFAILOVER = 0x8000000 -+ IFF_NOLINKLOCAL = 0x20000000000 -+ IFF_NOLOCAL = 0x20000 -+ IFF_NONUD = 0x200000 -+ IFF_NORTEXCH = 0x800000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NOXMIT = 0x10000 -+ IFF_OFFLINE = 0x80000000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PREFERRED = 0x400000000 -+ IFF_PRIVATE = 0x8000 -+ IFF_PROMISC = 0x100 -+ IFF_ROUTER = 0x100000 -+ IFF_RUNNING = 0x40 -+ IFF_STANDBY = 0x20000000 -+ IFF_TEMPORARY = 0x800000000 -+ IFF_UNNUMBERED = 0x2000 -+ IFF_UP = 0x1 -+ IFF_VIRTUAL = 0x2000000000 -+ IFF_VRRP = 0x10000000000 -+ IFF_XRESOLV = 0x100000000 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_6TO4 = 0xca -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IB = 0xc7 -+ IFT_IPV4 = 0xc8 -+ IFT_IPV6 = 0xc9 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_AUTOCONF_MASK = 0xffff0000 -+ IN_AUTOCONF_NET = 0xa9fe0000 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_CLASSE_NET = 0xffffffff -+ IN_LOOPBACKNET = 0x7f -+ IN_PRIVATE12_MASK = 0xfff00000 -+ IN_PRIVATE12_NET = 0xac100000 -+ IN_PRIVATE16_MASK = 0xffff0000 -+ IN_PRIVATE16_NET = 0xc0a80000 -+ IN_PRIVATE8_MASK = 0xff000000 -+ IN_PRIVATE8_NET = 0xa000000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x4 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NONE = 0x3b -+ IPPROTO_OSPF = 0x59 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_UDP = 0x11 -+ IPV6_ADD_MEMBERSHIP = 0x9 -+ IPV6_BOUND_IF = 0x41 -+ IPV6_CHECKSUM = 0x18 -+ IPV6_DONTFRAG = 0x21 -+ IPV6_DROP_MEMBERSHIP = 0xa -+ IPV6_DSTOPTS = 0xf -+ IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 -+ IPV6_FLOWINFO_TCLASS = 0xf00f -+ IPV6_HOPLIMIT = 0xc -+ IPV6_HOPOPTS = 0xe -+ IPV6_JOIN_GROUP = 0x9 -+ IPV6_LEAVE_GROUP = 0xa -+ IPV6_MULTICAST_HOPS = 0x7 -+ IPV6_MULTICAST_IF = 0x6 -+ IPV6_MULTICAST_LOOP = 0x8 -+ IPV6_NEXTHOP = 0xd -+ IPV6_PAD1_OPT = 0x0 -+ IPV6_PATHMTU = 0x25 -+ IPV6_PKTINFO = 0xb -+ IPV6_PREFER_SRC_CGA = 0x20 -+ IPV6_PREFER_SRC_CGADEFAULT = 0x10 -+ IPV6_PREFER_SRC_CGAMASK = 0x30 -+ IPV6_PREFER_SRC_COA = 0x2 -+ IPV6_PREFER_SRC_DEFAULT = 0x15 -+ IPV6_PREFER_SRC_HOME = 0x1 -+ IPV6_PREFER_SRC_MASK = 0x3f -+ IPV6_PREFER_SRC_MIPDEFAULT = 0x1 -+ IPV6_PREFER_SRC_MIPMASK = 0x3 -+ IPV6_PREFER_SRC_NONCGA = 0x10 -+ IPV6_PREFER_SRC_PUBLIC = 0x4 -+ IPV6_PREFER_SRC_TMP = 0x8 -+ IPV6_PREFER_SRC_TMPDEFAULT = 0x4 -+ IPV6_PREFER_SRC_TMPMASK = 0xc -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x13 -+ IPV6_RECVHOPOPTS = 0x14 -+ IPV6_RECVPATHMTU = 0x24 -+ IPV6_RECVPKTINFO = 0x12 -+ IPV6_RECVRTHDR = 0x16 -+ IPV6_RECVRTHDRDSTOPTS = 0x17 -+ IPV6_RECVTCLASS = 0x19 -+ IPV6_RTHDR = 0x10 -+ IPV6_RTHDRDSTOPTS = 0x11 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SEC_OPT = 0x22 -+ IPV6_SRC_PREFERENCES = 0x23 -+ IPV6_TCLASS = 0x26 -+ IPV6_UNICAST_HOPS = 0x5 -+ IPV6_UNSPEC_SRC = 0x42 -+ IPV6_USE_MIN_MTU = 0x20 -+ IPV6_V6ONLY = 0x27 -+ IP_ADD_MEMBERSHIP = 0x13 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x17 -+ IP_BLOCK_SOURCE = 0x15 -+ IP_BOUND_IF = 0x41 -+ IP_BROADCAST = 0x106 -+ IP_BROADCAST_TTL = 0x43 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DHCPINIT_IF = 0x45 -+ IP_DONTFRAG = 0x1b -+ IP_DONTROUTE = 0x105 -+ IP_DROP_MEMBERSHIP = 0x14 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x18 -+ IP_HDRINCL = 0x2 -+ IP_MAXPACKET = 0xffff -+ IP_MF = 0x2000 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x10 -+ IP_MULTICAST_LOOP = 0x12 -+ IP_MULTICAST_TTL = 0x11 -+ IP_NEXTHOP = 0x19 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x9 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVSLLA = 0xa -+ IP_RECVTTL = 0xb -+ IP_RETOPTS = 0x8 -+ IP_REUSEADDR = 0x104 -+ IP_SEC_OPT = 0x22 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x16 -+ IP_UNSPEC_SRC = 0x42 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ MADV_ACCESS_DEFAULT = 0x6 -+ MADV_ACCESS_LWP = 0x7 -+ MADV_ACCESS_MANY = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x80 -+ MAP_ALIGN = 0x200 -+ MAP_ANON = 0x100 -+ MAP_ANONYMOUS = 0x100 -+ MAP_FIXED = 0x10 -+ MAP_INITDATA = 0x800 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TEXT = 0x400 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x10 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_DUPCTRL = 0x800 -+ MSG_EOR = 0x8 -+ MSG_MAXIOVLEN = 0x10 -+ MSG_NOTIFICATION = 0x100 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x20 -+ MSG_WAITALL = 0x40 -+ MSG_XPG4_2 = 0x8000 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_OLDSYNC = 0x0 -+ MS_SYNC = 0x4 -+ M_FLUSH = 0x86 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPENFAIL = -0x1 -+ OPOST = 0x1 -+ O_ACCMODE = 0x600003 -+ O_APPEND = 0x8 -+ O_CLOEXEC = 0x800000 -+ O_CREAT = 0x100 -+ O_DSYNC = 0x40 -+ O_EXCL = 0x400 -+ O_EXEC = 0x400000 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NOLINKS = 0x40000 -+ O_NONBLOCK = 0x80 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x8000 -+ O_SEARCH = 0x200000 -+ O_SIOCGIFCONF = -0x3ff796ec -+ O_SIOCGLIFCONF = -0x3fef9688 -+ O_SYNC = 0x10 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ O_XATTR = 0x4000 -+ PARENB = 0x100 -+ PAREXT = 0x100000 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x3 -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_NUMBITS = 0x9 -+ RTA_SRC = 0x100 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INDIRECT = 0x40000 -+ RTF_KERNEL = 0x80000 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTIRT = 0x10000 -+ RTF_PRIVATE = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SETSRC = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTF_ZONE = 0x100000 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0xf -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_FREEADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_VERSION = 0x3 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_AWARE = 0x1 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_RIGHTS = 0x1010 -+ SCM_TIMESTAMP = 0x1013 -+ SCM_UCRED = 0x1012 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIG2STR_MAX = 0x20 -+ SIOCADDMULTI = -0x7fdf96cf -+ SIOCADDRT = -0x7fcf8df6 -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = -0x7fdb96e0 -+ SIOCDELMULTI = -0x7fdf96ce -+ SIOCDELRT = -0x7fcf8df5 -+ SIOCDXARP = -0x7fff9658 -+ SIOCGARP = -0x3fdb96e1 -+ SIOCGDSTINFO = -0x3fff965c -+ SIOCGENADDR = -0x3fdf96ab -+ SIOCGENPSTATS = -0x3fdf96c7 -+ SIOCGETLSGCNT = -0x3fef8deb -+ SIOCGETNAME = 0x40107334 -+ SIOCGETPEER = 0x40107335 -+ SIOCGETPROP = -0x3fff8f44 -+ SIOCGETSGCNT = -0x3feb8deb -+ SIOCGETSYNC = -0x3fdf96d3 -+ SIOCGETVIFCNT = -0x3feb8dec -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = -0x3fdf96f3 -+ SIOCGIFBRDADDR = -0x3fdf96e9 -+ SIOCGIFCONF = -0x3ff796a4 -+ SIOCGIFDSTADDR = -0x3fdf96f1 -+ SIOCGIFFLAGS = -0x3fdf96ef -+ SIOCGIFHWADDR = -0x3fdf9647 -+ SIOCGIFINDEX = -0x3fdf96a6 -+ SIOCGIFMEM = -0x3fdf96ed -+ SIOCGIFMETRIC = -0x3fdf96e5 -+ SIOCGIFMTU = -0x3fdf96ea -+ SIOCGIFMUXID = -0x3fdf96a8 -+ SIOCGIFNETMASK = -0x3fdf96e7 -+ SIOCGIFNUM = 0x40046957 -+ SIOCGIP6ADDRPOLICY = -0x3fff965e -+ SIOCGIPMSFILTER = -0x3ffb964c -+ SIOCGLIFADDR = -0x3f87968f -+ SIOCGLIFBINDING = -0x3f879666 -+ SIOCGLIFBRDADDR = -0x3f879685 -+ SIOCGLIFCONF = -0x3fef965b -+ SIOCGLIFDADSTATE = -0x3f879642 -+ SIOCGLIFDSTADDR = -0x3f87968d -+ SIOCGLIFFLAGS = -0x3f87968b -+ SIOCGLIFGROUPINFO = -0x3f4b9663 -+ SIOCGLIFGROUPNAME = -0x3f879664 -+ SIOCGLIFHWADDR = -0x3f879640 -+ SIOCGLIFINDEX = -0x3f87967b -+ SIOCGLIFLNKINFO = -0x3f879674 -+ SIOCGLIFMETRIC = -0x3f879681 -+ SIOCGLIFMTU = -0x3f879686 -+ SIOCGLIFMUXID = -0x3f87967d -+ SIOCGLIFNETMASK = -0x3f879683 -+ SIOCGLIFNUM = -0x3ff3967e -+ SIOCGLIFSRCOF = -0x3fef964f -+ SIOCGLIFSUBNET = -0x3f879676 -+ SIOCGLIFTOKEN = -0x3f879678 -+ SIOCGLIFUSESRC = -0x3f879651 -+ SIOCGLIFZONE = -0x3f879656 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGMSFILTER = -0x3ffb964e -+ SIOCGPGRP = 0x40047309 -+ SIOCGSTAMP = -0x3fef9646 -+ SIOCGXARP = -0x3fff9659 -+ SIOCIFDETACH = -0x7fdf96c8 -+ SIOCILB = -0x3ffb9645 -+ SIOCLIFADDIF = -0x3f879691 -+ SIOCLIFDELND = -0x7f879673 -+ SIOCLIFGETND = -0x3f879672 -+ SIOCLIFREMOVEIF = -0x7f879692 -+ SIOCLIFSETND = -0x7f879671 -+ SIOCLOWER = -0x7fdf96d7 -+ SIOCSARP = -0x7fdb96e2 -+ SIOCSCTPGOPT = -0x3fef9653 -+ SIOCSCTPPEELOFF = -0x3ffb9652 -+ SIOCSCTPSOPT = -0x7fef9654 -+ SIOCSENABLESDP = -0x3ffb9649 -+ SIOCSETPROP = -0x7ffb8f43 -+ SIOCSETSYNC = -0x7fdf96d4 -+ SIOCSHIWAT = -0x7ffb8d00 -+ SIOCSIFADDR = -0x7fdf96f4 -+ SIOCSIFBRDADDR = -0x7fdf96e8 -+ SIOCSIFDSTADDR = -0x7fdf96f2 -+ SIOCSIFFLAGS = -0x7fdf96f0 -+ SIOCSIFINDEX = -0x7fdf96a5 -+ SIOCSIFMEM = -0x7fdf96ee -+ SIOCSIFMETRIC = -0x7fdf96e4 -+ SIOCSIFMTU = -0x7fdf96eb -+ SIOCSIFMUXID = -0x7fdf96a7 -+ SIOCSIFNAME = -0x7fdf96b7 -+ SIOCSIFNETMASK = -0x7fdf96e6 -+ SIOCSIP6ADDRPOLICY = -0x7fff965d -+ SIOCSIPMSFILTER = -0x7ffb964b -+ SIOCSLGETREQ = -0x3fdf96b9 -+ SIOCSLIFADDR = -0x7f879690 -+ SIOCSLIFBRDADDR = -0x7f879684 -+ SIOCSLIFDSTADDR = -0x7f87968e -+ SIOCSLIFFLAGS = -0x7f87968c -+ SIOCSLIFGROUPNAME = -0x7f879665 -+ SIOCSLIFINDEX = -0x7f87967a -+ SIOCSLIFLNKINFO = -0x7f879675 -+ SIOCSLIFMETRIC = -0x7f879680 -+ SIOCSLIFMTU = -0x7f879687 -+ SIOCSLIFMUXID = -0x7f87967c -+ SIOCSLIFNAME = -0x3f87967f -+ SIOCSLIFNETMASK = -0x7f879682 -+ SIOCSLIFPREFIX = -0x3f879641 -+ SIOCSLIFSUBNET = -0x7f879677 -+ SIOCSLIFTOKEN = -0x7f879679 -+ SIOCSLIFUSESRC = -0x7f879650 -+ SIOCSLIFZONE = -0x7f879655 -+ SIOCSLOWAT = -0x7ffb8cfe -+ SIOCSLSTAT = -0x7fdf96b8 -+ SIOCSMSFILTER = -0x7ffb964d -+ SIOCSPGRP = -0x7ffb8cf8 -+ SIOCSPROMISC = -0x7ffb96d0 -+ SIOCSQPTR = -0x3ffb9648 -+ SIOCSSDSTATS = -0x3fdf96d2 -+ SIOCSSESTATS = -0x3fdf96d1 -+ SIOCSXARP = -0x7fff965a -+ SIOCTMYADDR = -0x3ff79670 -+ SIOCTMYSITE = -0x3ff7966e -+ SIOCTONLINK = -0x3ff7966f -+ SIOCUPPER = -0x7fdf96d8 -+ SIOCX25RCV = -0x3fdf96c4 -+ SIOCX25TBL = -0x3fdf96c3 -+ SIOCX25XMT = -0x3fdf96c5 -+ SIOCXPROTO = 0x20007337 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DGRAM = 0x1 -+ SOCK_NDELAY = 0x200000 -+ SOCK_NONBLOCK = 0x100000 -+ SOCK_RAW = 0x4 -+ SOCK_RDM = 0x5 -+ SOCK_SEQPACKET = 0x6 -+ SOCK_STREAM = 0x2 -+ SOCK_TYPE_MASK = 0xffff -+ SOL_FILTER = 0xfffc -+ SOL_PACKET = 0xfffd -+ SOL_ROUTE = 0xfffe -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ALL = 0x3f -+ SO_ALLZONES = 0x1014 -+ SO_ANON_MLP = 0x100a -+ SO_ATTACH_FILTER = 0x40000001 -+ SO_BAND = 0x4000 -+ SO_BROADCAST = 0x20 -+ SO_COPYOPT = 0x80000 -+ SO_DEBUG = 0x1 -+ SO_DELIM = 0x8000 -+ SO_DETACH_FILTER = 0x40000002 -+ SO_DGRAM_ERRIND = 0x200 -+ SO_DOMAIN = 0x100c -+ SO_DONTLINGER = -0x81 -+ SO_DONTROUTE = 0x10 -+ SO_ERROPT = 0x40000 -+ SO_ERROR = 0x1007 -+ SO_EXCLBIND = 0x1015 -+ SO_HIWAT = 0x10 -+ SO_ISNTTY = 0x800 -+ SO_ISTTY = 0x400 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOWAT = 0x20 -+ SO_MAC_EXEMPT = 0x100b -+ SO_MAC_IMPLICIT = 0x1016 -+ SO_MAXBLK = 0x100000 -+ SO_MAXPSZ = 0x8 -+ SO_MINPSZ = 0x4 -+ SO_MREADOFF = 0x80 -+ SO_MREADON = 0x40 -+ SO_NDELOFF = 0x200 -+ SO_NDELON = 0x100 -+ SO_NODELIM = 0x10000 -+ SO_OOBINLINE = 0x100 -+ SO_PROTOTYPE = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVPSH = 0x100d -+ SO_RCVTIMEO = 0x1006 -+ SO_READOPT = 0x1 -+ SO_RECVUCRED = 0x400 -+ SO_REUSEADDR = 0x4 -+ SO_SECATTR = 0x1011 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STRHOLD = 0x20000 -+ SO_TAIL = 0x200000 -+ SO_TIMESTAMP = 0x1013 -+ SO_TONSTOP = 0x2000 -+ SO_TOSTOP = 0x1000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_VRRP = 0x1017 -+ SO_WROFF = 0x2 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_ABORT_THRESHOLD = 0x11 -+ TCP_ANONPRIVBIND = 0x20 -+ TCP_CONN_ABORT_THRESHOLD = 0x13 -+ TCP_CONN_NOTIFY_THRESHOLD = 0x12 -+ TCP_CORK = 0x18 -+ TCP_EXCLBIND = 0x21 -+ TCP_INIT_CWND = 0x15 -+ TCP_KEEPALIVE = 0x8 -+ TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 -+ TCP_KEEPALIVE_THRESHOLD = 0x16 -+ TCP_KEEPCNT = 0x23 -+ TCP_KEEPIDLE = 0x22 -+ TCP_KEEPINTVL = 0x24 -+ TCP_LINGER2 = 0x1c -+ TCP_MAXSEG = 0x2 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOTIFY_THRESHOLD = 0x10 -+ TCP_RECVDSTADDR = 0x14 -+ TCP_RTO_INITIAL = 0x19 -+ TCP_RTO_MAX = 0x1b -+ TCP_RTO_MIN = 0x1a -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETSF = 0x5410 -+ TCSETSW = 0x540f -+ TCXONC = 0x5406 -+ TIOC = 0x5400 -+ TIOCCBRK = 0x747a -+ TIOCCDTR = 0x7478 -+ TIOCCILOOP = 0x746c -+ TIOCEXCL = 0x740d -+ TIOCFLUSH = 0x7410 -+ TIOCGETC = 0x7412 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x7414 -+ TIOCGPPS = 0x547d -+ TIOCGPPSEV = 0x547f -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5469 -+ TIOCGWINSZ = 0x5468 -+ TIOCHPCL = 0x7402 -+ TIOCKBOF = 0x5409 -+ TIOCKBON = 0x5408 -+ TIOCLBIC = 0x747e -+ TIOCLBIS = 0x747f -+ TIOCLGET = 0x747c -+ TIOCLSET = 0x747d -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x7471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7473 -+ TIOCREMOTE = 0x741e -+ TIOCSBRK = 0x747b -+ TIOCSCTTY = 0x7484 -+ TIOCSDTR = 0x7479 -+ TIOCSETC = 0x7411 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIGNAL = 0x741f -+ TIOCSILOOP = 0x746d -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x7415 -+ TIOCSPPS = 0x547e -+ TIOCSSOFTCAR = 0x546a -+ TIOCSTART = 0x746e -+ TIOCSTI = 0x7417 -+ TIOCSTOP = 0x746f -+ TIOCSWINSZ = 0x5467 -+ TOSTOP = 0x100 -+ VCEOF = 0x8 -+ VCEOL = 0x9 -+ VDISCARD = 0xd -+ VDSUSP = 0xb -+ VEOF = 0x4 -+ VEOL = 0x5 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTATUS = 0x10 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WCONTFLG = 0xffff -+ WCONTINUED = 0x8 -+ WCOREFLG = 0x80 -+ WEXITED = 0x1 -+ WNOHANG = 0x40 -+ WNOWAIT = 0x80 -+ WOPTMASK = 0xcf -+ WRAP = 0x20000 -+ WSIGMASK = 0x7f -+ WSTOPFLG = 0x7f -+ WSTOPPED = 0x4 -+ WTRAPPED = 0x2 -+ WUNTRACED = 0x4 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x39) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x2f) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x31) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOCKUNMAPPED = syscall.Errno(0x48) -+ ELOOP = syscall.Errno(0x5a) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTACTIVE = syscall.Errno(0x49) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTRECOVERABLE = syscall.Errno(0x3b) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x30) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0x3a) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMOTE = syscall.Errno(0x42) -+ ERESTART = syscall.Errno(0x5b) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCANCEL = syscall.Signal(0x24) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGFREEZE = syscall.Signal(0x22) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x29) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGJVM1 = syscall.Signal(0x27) -+ SIGJVM2 = syscall.Signal(0x28) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLOST = syscall.Signal(0x25) -+ SIGLWP = syscall.Signal(0x21) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHAW = syscall.Signal(0x23) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWAITING = syscall.Signal(0x20) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+ SIGXRES = syscall.Signal(0x26) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "not owner", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "I/O error", -+ 6: "no such device or address", -+ 7: "arg list too long", -+ 8: "exec format error", -+ 9: "bad file number", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "not enough space", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "file table overflow", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "argument out of domain", -+ 34: "result too large", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "deadlock situation detected/avoided", -+ 46: "no record locks available", -+ 47: "operation canceled", -+ 48: "operation not supported", -+ 49: "disc quota exceeded", -+ 50: "bad exchange descriptor", -+ 51: "bad request descriptor", -+ 52: "message tables full", -+ 53: "anode table overflow", -+ 54: "bad request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock", -+ 57: "bad font file format", -+ 58: "owner of the lock died", -+ 59: "lock is not recoverable", -+ 60: "not a stream device", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of stream resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "locked lock was unmapped ", -+ 73: "facility is not active", -+ 74: "multihop attempted", -+ 77: "not a data message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in more shared libraries than system limit", -+ 87: "can not exec a shared library directly", -+ 88: "illegal byte sequence", -+ 89: "operation not applicable", -+ 90: "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS", -+ 91: "error 91", -+ 92: "error 92", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "option not supported by protocol", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported on transport endpoint", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol family", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection because of reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 143: "cannot send after socket shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale NFS file handle", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal Instruction", -+ 5: "trace/Breakpoint Trap", -+ 6: "abort", -+ 7: "emulation Trap", -+ 8: "arithmetic Exception", -+ 9: "killed", -+ 10: "bus Error", -+ 11: "segmentation Fault", -+ 12: "bad System Call", -+ 13: "broken Pipe", -+ 14: "alarm Clock", -+ 15: "terminated", -+ 16: "user Signal 1", -+ 17: "user Signal 2", -+ 18: "child Status Changed", -+ 19: "power-Fail/Restart", -+ 20: "window Size Change", -+ 21: "urgent Socket Condition", -+ 22: "pollable Event", -+ 23: "stopped (signal)", -+ 24: "stopped (user)", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual Timer Expired", -+ 29: "profiling Timer Expired", -+ 30: "cpu Limit Exceeded", -+ 31: "file Size Limit Exceeded", -+ 32: "no runnable lwp", -+ 33: "inter-lwp signal", -+ 34: "checkpoint Freeze", -+ 35: "checkpoint Thaw", -+ 36: "thread Cancellation", -+ 37: "resource Lost", -+ 38: "resource Control Exceeded", -+ 39: "reserved for JVM 1", -+ 40: "reserved for JVM 2", -+ 41: "information Request", -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -new file mode 100644 -index 0000000..e48f4a5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int32(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -new file mode 100644 -index 0000000..672ada0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -@@ -0,0 +1,1409 @@ -+// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int64(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -new file mode 100644 -index 0000000..d516409 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -l32 -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int32(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -new file mode 100644 -index 0000000..e97759c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,arm64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int64(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -new file mode 100644 -index 0000000..3e9d82a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -@@ -0,0 +1,1382 @@ -+// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build dragonfly,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -new file mode 100644 -index 0000000..f53801c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -new file mode 100644 -index 0000000..55b0741 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -new file mode 100644 -index 0000000..0e9b42b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -new file mode 100644 -index 0000000..d4ec806 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -@@ -0,0 +1,1649 @@ -+// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -new file mode 100644 -index 0000000..8b2e87d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -@@ -0,0 +1,1842 @@ -+// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -new file mode 100644 -index 0000000..82d36a4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -@@ -0,0 +1,1751 @@ -+// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -new file mode 100644 -index 0000000..f6cc320 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -@@ -0,0 +1,1725 @@ -+// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,arm64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -new file mode 100644 -index 0000000..f91afb4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -@@ -0,0 +1,1807 @@ -+// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r0)<<32 | int64(r1)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(int64(r0)<<32 | int64(r1)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -new file mode 100644 -index 0000000..657d11e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -@@ -0,0 +1,1791 @@ -+// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fstat(fd int, st *stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func lstat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func stat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -new file mode 100644 -index 0000000..31ff177 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -@@ -0,0 +1,1791 @@ -+// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips64le -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fstat(fd int, st *stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func lstat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func stat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -new file mode 100644 -index 0000000..797e633 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -@@ -0,0 +1,1807 @@ -+// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mipsle -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -new file mode 100644 -index 0000000..307dbb5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -@@ -0,0 +1,1853 @@ -+// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,ppc64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -new file mode 100644 -index 0000000..f458a63 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -@@ -0,0 +1,1853 @@ -+// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,ppc64le -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -new file mode 100644 -index 0000000..b1d5a9b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -@@ -0,0 +1,1633 @@ -+// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,s390x -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -new file mode 100644 -index 0000000..ce3ec58 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -@@ -0,0 +1,1822 @@ -+// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,sparc64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -new file mode 100644 -index 0000000..3182345 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -new file mode 100644 -index 0000000..74ba818 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -new file mode 100644 -index 0000000..1f346e2 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -l32 -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -new file mode 100644 -index 0000000..ca3e813 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -@@ -0,0 +1,1357 @@ -+// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build openbsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -new file mode 100644 -index 0000000..bf63d55 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -@@ -0,0 +1,1357 @@ -+// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build openbsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -new file mode 100644 -index 0000000..bdf140b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -@@ -0,0 +1,1562 @@ -+// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build solaris,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+//go:cgo_import_dynamic libc_pipe pipe "libc.so" -+//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" -+//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" -+//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" -+//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" -+//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" -+//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" -+//go:cgo_import_dynamic libc_utimes utimes "libc.so" -+//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" -+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" -+//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" -+//go:cgo_import_dynamic libc_accept accept "libsocket.so" -+//go:cgo_import_dynamic libc_recvmsg recvmsg "libsocket.so" -+//go:cgo_import_dynamic libc_sendmsg sendmsg "libsocket.so" -+//go:cgo_import_dynamic libc_acct acct "libc.so" -+//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" -+//go:cgo_import_dynamic libc_access access "libc.so" -+//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" -+//go:cgo_import_dynamic libc_chdir chdir "libc.so" -+//go:cgo_import_dynamic libc_chmod chmod "libc.so" -+//go:cgo_import_dynamic libc_chown chown "libc.so" -+//go:cgo_import_dynamic libc_chroot chroot "libc.so" -+//go:cgo_import_dynamic libc_close close "libc.so" -+//go:cgo_import_dynamic libc_creat creat "libc.so" -+//go:cgo_import_dynamic libc_dup dup "libc.so" -+//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" -+//go:cgo_import_dynamic libc_exit exit "libc.so" -+//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" -+//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" -+//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" -+//go:cgo_import_dynamic libc_fchown fchown "libc.so" -+//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" -+//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" -+//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" -+//go:cgo_import_dynamic libc_fstat fstat "libc.so" -+//go:cgo_import_dynamic libc_getdents getdents "libc.so" -+//go:cgo_import_dynamic libc_getgid getgid "libc.so" -+//go:cgo_import_dynamic libc_getpid getpid "libc.so" -+//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" -+//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" -+//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" -+//go:cgo_import_dynamic libc_getegid getegid "libc.so" -+//go:cgo_import_dynamic libc_getppid getppid "libc.so" -+//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" -+//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" -+//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" -+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" -+//go:cgo_import_dynamic libc_getuid getuid "libc.so" -+//go:cgo_import_dynamic libc_kill kill "libc.so" -+//go:cgo_import_dynamic libc_lchown lchown "libc.so" -+//go:cgo_import_dynamic libc_link link "libc.so" -+//go:cgo_import_dynamic libc_listen listen "libsocket.so" -+//go:cgo_import_dynamic libc_lstat lstat "libc.so" -+//go:cgo_import_dynamic libc_madvise madvise "libc.so" -+//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" -+//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" -+//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" -+//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" -+//go:cgo_import_dynamic libc_mknod mknod "libc.so" -+//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" -+//go:cgo_import_dynamic libc_mlock mlock "libc.so" -+//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" -+//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" -+//go:cgo_import_dynamic libc_munlock munlock "libc.so" -+//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" -+//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" -+//go:cgo_import_dynamic libc_open open "libc.so" -+//go:cgo_import_dynamic libc_openat openat "libc.so" -+//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" -+//go:cgo_import_dynamic libc_pause pause "libc.so" -+//go:cgo_import_dynamic libc_pread pread "libc.so" -+//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" -+//go:cgo_import_dynamic libc_read read "libc.so" -+//go:cgo_import_dynamic libc_readlink readlink "libc.so" -+//go:cgo_import_dynamic libc_rename rename "libc.so" -+//go:cgo_import_dynamic libc_renameat renameat "libc.so" -+//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" -+//go:cgo_import_dynamic libc_lseek lseek "libc.so" -+//go:cgo_import_dynamic libc_setegid setegid "libc.so" -+//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" -+//go:cgo_import_dynamic libc_setgid setgid "libc.so" -+//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" -+//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" -+//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" -+//go:cgo_import_dynamic libc_setregid setregid "libc.so" -+//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" -+//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" -+//go:cgo_import_dynamic libc_setsid setsid "libc.so" -+//go:cgo_import_dynamic libc_setuid setuid "libc.so" -+//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" -+//go:cgo_import_dynamic libc_stat stat "libc.so" -+//go:cgo_import_dynamic libc_symlink symlink "libc.so" -+//go:cgo_import_dynamic libc_sync sync "libc.so" -+//go:cgo_import_dynamic libc_times times "libc.so" -+//go:cgo_import_dynamic libc_truncate truncate "libc.so" -+//go:cgo_import_dynamic libc_fsync fsync "libc.so" -+//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" -+//go:cgo_import_dynamic libc_umask umask "libc.so" -+//go:cgo_import_dynamic libc_uname uname "libc.so" -+//go:cgo_import_dynamic libc_umount umount "libc.so" -+//go:cgo_import_dynamic libc_unlink unlink "libc.so" -+//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" -+//go:cgo_import_dynamic libc_ustat ustat "libc.so" -+//go:cgo_import_dynamic libc_utime utime "libc.so" -+//go:cgo_import_dynamic libc_bind bind "libsocket.so" -+//go:cgo_import_dynamic libc_connect connect "libsocket.so" -+//go:cgo_import_dynamic libc_mmap mmap "libc.so" -+//go:cgo_import_dynamic libc_munmap munmap "libc.so" -+//go:cgo_import_dynamic libc_sendto sendto "libsocket.so" -+//go:cgo_import_dynamic libc_socket socket "libsocket.so" -+//go:cgo_import_dynamic libc_socketpair socketpair "libsocket.so" -+//go:cgo_import_dynamic libc_write write "libc.so" -+//go:cgo_import_dynamic libc_getsockopt getsockopt "libsocket.so" -+//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" -+//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" -+//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" -+//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" -+ -+//go:linkname procpipe libc_pipe -+//go:linkname procgetsockname libc_getsockname -+//go:linkname procGetcwd libc_getcwd -+//go:linkname procgetgroups libc_getgroups -+//go:linkname procsetgroups libc_setgroups -+//go:linkname procwait4 libc_wait4 -+//go:linkname procgethostname libc_gethostname -+//go:linkname procutimes libc_utimes -+//go:linkname procutimensat libc_utimensat -+//go:linkname procfcntl libc_fcntl -+//go:linkname procfutimesat libc_futimesat -+//go:linkname procaccept libc_accept -+//go:linkname procrecvmsg libc_recvmsg -+//go:linkname procsendmsg libc_sendmsg -+//go:linkname procacct libc_acct -+//go:linkname procioctl libc_ioctl -+//go:linkname procAccess libc_access -+//go:linkname procAdjtime libc_adjtime -+//go:linkname procChdir libc_chdir -+//go:linkname procChmod libc_chmod -+//go:linkname procChown libc_chown -+//go:linkname procChroot libc_chroot -+//go:linkname procClose libc_close -+//go:linkname procCreat libc_creat -+//go:linkname procDup libc_dup -+//go:linkname procDup2 libc_dup2 -+//go:linkname procExit libc_exit -+//go:linkname procFchdir libc_fchdir -+//go:linkname procFchmod libc_fchmod -+//go:linkname procFchmodat libc_fchmodat -+//go:linkname procFchown libc_fchown -+//go:linkname procFchownat libc_fchownat -+//go:linkname procFdatasync libc_fdatasync -+//go:linkname procFpathconf libc_fpathconf -+//go:linkname procFstat libc_fstat -+//go:linkname procGetdents libc_getdents -+//go:linkname procGetgid libc_getgid -+//go:linkname procGetpid libc_getpid -+//go:linkname procGetpgid libc_getpgid -+//go:linkname procGetpgrp libc_getpgrp -+//go:linkname procGeteuid libc_geteuid -+//go:linkname procGetegid libc_getegid -+//go:linkname procGetppid libc_getppid -+//go:linkname procGetpriority libc_getpriority -+//go:linkname procGetrlimit libc_getrlimit -+//go:linkname procGetrusage libc_getrusage -+//go:linkname procGettimeofday libc_gettimeofday -+//go:linkname procGetuid libc_getuid -+//go:linkname procKill libc_kill -+//go:linkname procLchown libc_lchown -+//go:linkname procLink libc_link -+//go:linkname proclisten libc_listen -+//go:linkname procLstat libc_lstat -+//go:linkname procMadvise libc_madvise -+//go:linkname procMkdir libc_mkdir -+//go:linkname procMkdirat libc_mkdirat -+//go:linkname procMkfifo libc_mkfifo -+//go:linkname procMkfifoat libc_mkfifoat -+//go:linkname procMknod libc_mknod -+//go:linkname procMknodat libc_mknodat -+//go:linkname procMlock libc_mlock -+//go:linkname procMlockall libc_mlockall -+//go:linkname procMprotect libc_mprotect -+//go:linkname procMunlock libc_munlock -+//go:linkname procMunlockall libc_munlockall -+//go:linkname procNanosleep libc_nanosleep -+//go:linkname procOpen libc_open -+//go:linkname procOpenat libc_openat -+//go:linkname procPathconf libc_pathconf -+//go:linkname procPause libc_pause -+//go:linkname procPread libc_pread -+//go:linkname procPwrite libc_pwrite -+//go:linkname procread libc_read -+//go:linkname procReadlink libc_readlink -+//go:linkname procRename libc_rename -+//go:linkname procRenameat libc_renameat -+//go:linkname procRmdir libc_rmdir -+//go:linkname proclseek libc_lseek -+//go:linkname procSetegid libc_setegid -+//go:linkname procSeteuid libc_seteuid -+//go:linkname procSetgid libc_setgid -+//go:linkname procSethostname libc_sethostname -+//go:linkname procSetpgid libc_setpgid -+//go:linkname procSetpriority libc_setpriority -+//go:linkname procSetregid libc_setregid -+//go:linkname procSetreuid libc_setreuid -+//go:linkname procSetrlimit libc_setrlimit -+//go:linkname procSetsid libc_setsid -+//go:linkname procSetuid libc_setuid -+//go:linkname procshutdown libc_shutdown -+//go:linkname procStat libc_stat -+//go:linkname procSymlink libc_symlink -+//go:linkname procSync libc_sync -+//go:linkname procTimes libc_times -+//go:linkname procTruncate libc_truncate -+//go:linkname procFsync libc_fsync -+//go:linkname procFtruncate libc_ftruncate -+//go:linkname procUmask libc_umask -+//go:linkname procUname libc_uname -+//go:linkname procumount libc_umount -+//go:linkname procUnlink libc_unlink -+//go:linkname procUnlinkat libc_unlinkat -+//go:linkname procUstat libc_ustat -+//go:linkname procUtime libc_utime -+//go:linkname procbind libc_bind -+//go:linkname procconnect libc_connect -+//go:linkname procmmap libc_mmap -+//go:linkname procmunmap libc_munmap -+//go:linkname procsendto libc_sendto -+//go:linkname procsocket libc_socket -+//go:linkname procsocketpair libc_socketpair -+//go:linkname procwrite libc_write -+//go:linkname procgetsockopt libc_getsockopt -+//go:linkname procgetpeername libc_getpeername -+//go:linkname procsetsockopt libc_setsockopt -+//go:linkname procrecvfrom libc_recvfrom -+//go:linkname procsysconf libc_sysconf -+ -+var ( -+ procpipe, -+ procgetsockname, -+ procGetcwd, -+ procgetgroups, -+ procsetgroups, -+ procwait4, -+ procgethostname, -+ procutimes, -+ procutimensat, -+ procfcntl, -+ procfutimesat, -+ procaccept, -+ procrecvmsg, -+ procsendmsg, -+ procacct, -+ procioctl, -+ procAccess, -+ procAdjtime, -+ procChdir, -+ procChmod, -+ procChown, -+ procChroot, -+ procClose, -+ procCreat, -+ procDup, -+ procDup2, -+ procExit, -+ procFchdir, -+ procFchmod, -+ procFchmodat, -+ procFchown, -+ procFchownat, -+ procFdatasync, -+ procFpathconf, -+ procFstat, -+ procGetdents, -+ procGetgid, -+ procGetpid, -+ procGetpgid, -+ procGetpgrp, -+ procGeteuid, -+ procGetegid, -+ procGetppid, -+ procGetpriority, -+ procGetrlimit, -+ procGetrusage, -+ procGettimeofday, -+ procGetuid, -+ procKill, -+ procLchown, -+ procLink, -+ proclisten, -+ procLstat, -+ procMadvise, -+ procMkdir, -+ procMkdirat, -+ procMkfifo, -+ procMkfifoat, -+ procMknod, -+ procMknodat, -+ procMlock, -+ procMlockall, -+ procMprotect, -+ procMunlock, -+ procMunlockall, -+ procNanosleep, -+ procOpen, -+ procOpenat, -+ procPathconf, -+ procPause, -+ procPread, -+ procPwrite, -+ procread, -+ procReadlink, -+ procRename, -+ procRenameat, -+ procRmdir, -+ proclseek, -+ procSetegid, -+ procSeteuid, -+ procSetgid, -+ procSethostname, -+ procSetpgid, -+ procSetpriority, -+ procSetregid, -+ procSetreuid, -+ procSetrlimit, -+ procSetsid, -+ procSetuid, -+ procshutdown, -+ procStat, -+ procSymlink, -+ procSync, -+ procTimes, -+ procTruncate, -+ procFsync, -+ procFtruncate, -+ procUmask, -+ procUname, -+ procumount, -+ procUnlink, -+ procUnlinkat, -+ procUstat, -+ procUtime, -+ procbind, -+ procconnect, -+ procmmap, -+ procmunmap, -+ procsendto, -+ procsocket, -+ procsocketpair, -+ procwrite, -+ procgetsockopt, -+ procgetpeername, -+ procsetsockopt, -+ procrecvfrom, -+ procsysconf syscallFunc -+) -+ -+func pipe(p *[2]_C_int) (n int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int32(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func gethostname(buf []byte) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func acct(path *byte) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func ioctl(fd int, req int, arg uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Close(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Creat(path string, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Exit(code int) { -+ sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) -+ return -+} -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getgid() (gid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+func Getpid() (pid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getpgrp() (pgid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Geteuid() (euid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+func Getegid() (egid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+func Getppid() (ppid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+func Getpriority(which int, who int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getuid() (uid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkfifoat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mlock(b []byte) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Munlock(b []byte) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Munlockall() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pause() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ if len(buf) > 0 { -+ _p1 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Sync() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procbind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procconnect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsocket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsocketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sysconf(name int) (n int64, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go -new file mode 100644 -index 0000000..83bb935 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go -@@ -0,0 +1,270 @@ -+// mksysctl_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+package unix -+ -+type mibentry struct { -+ ctlname string -+ ctloid []_C_int -+} -+ -+var sysctlMib = []mibentry{ -+ {"ddb.console", []_C_int{9, 6}}, -+ {"ddb.log", []_C_int{9, 7}}, -+ {"ddb.max_line", []_C_int{9, 3}}, -+ {"ddb.max_width", []_C_int{9, 2}}, -+ {"ddb.panic", []_C_int{9, 5}}, -+ {"ddb.radix", []_C_int{9, 1}}, -+ {"ddb.tab_stop_width", []_C_int{9, 4}}, -+ {"ddb.trigger", []_C_int{9, 8}}, -+ {"fs.posix.setuid", []_C_int{3, 1, 1}}, -+ {"hw.allowpowerdown", []_C_int{6, 22}}, -+ {"hw.byteorder", []_C_int{6, 4}}, -+ {"hw.cpuspeed", []_C_int{6, 12}}, -+ {"hw.diskcount", []_C_int{6, 10}}, -+ {"hw.disknames", []_C_int{6, 8}}, -+ {"hw.diskstats", []_C_int{6, 9}}, -+ {"hw.machine", []_C_int{6, 1}}, -+ {"hw.model", []_C_int{6, 2}}, -+ {"hw.ncpu", []_C_int{6, 3}}, -+ {"hw.ncpufound", []_C_int{6, 21}}, -+ {"hw.pagesize", []_C_int{6, 7}}, -+ {"hw.physmem", []_C_int{6, 19}}, -+ {"hw.product", []_C_int{6, 15}}, -+ {"hw.serialno", []_C_int{6, 17}}, -+ {"hw.setperf", []_C_int{6, 13}}, -+ {"hw.usermem", []_C_int{6, 20}}, -+ {"hw.uuid", []_C_int{6, 18}}, -+ {"hw.vendor", []_C_int{6, 14}}, -+ {"hw.version", []_C_int{6, 16}}, -+ {"kern.arandom", []_C_int{1, 37}}, -+ {"kern.argmax", []_C_int{1, 8}}, -+ {"kern.boottime", []_C_int{1, 21}}, -+ {"kern.bufcachepercent", []_C_int{1, 72}}, -+ {"kern.ccpu", []_C_int{1, 45}}, -+ {"kern.clockrate", []_C_int{1, 12}}, -+ {"kern.consdev", []_C_int{1, 75}}, -+ {"kern.cp_time", []_C_int{1, 40}}, -+ {"kern.cp_time2", []_C_int{1, 71}}, -+ {"kern.cryptodevallowsoft", []_C_int{1, 53}}, -+ {"kern.domainname", []_C_int{1, 22}}, -+ {"kern.file", []_C_int{1, 73}}, -+ {"kern.forkstat", []_C_int{1, 42}}, -+ {"kern.fscale", []_C_int{1, 46}}, -+ {"kern.fsync", []_C_int{1, 33}}, -+ {"kern.hostid", []_C_int{1, 11}}, -+ {"kern.hostname", []_C_int{1, 10}}, -+ {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, -+ {"kern.job_control", []_C_int{1, 19}}, -+ {"kern.malloc.buckets", []_C_int{1, 39, 1}}, -+ {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, -+ {"kern.maxclusters", []_C_int{1, 67}}, -+ {"kern.maxfiles", []_C_int{1, 7}}, -+ {"kern.maxlocksperuid", []_C_int{1, 70}}, -+ {"kern.maxpartitions", []_C_int{1, 23}}, -+ {"kern.maxproc", []_C_int{1, 6}}, -+ {"kern.maxthread", []_C_int{1, 25}}, -+ {"kern.maxvnodes", []_C_int{1, 5}}, -+ {"kern.mbstat", []_C_int{1, 59}}, -+ {"kern.msgbuf", []_C_int{1, 48}}, -+ {"kern.msgbufsize", []_C_int{1, 38}}, -+ {"kern.nchstats", []_C_int{1, 41}}, -+ {"kern.netlivelocks", []_C_int{1, 76}}, -+ {"kern.nfiles", []_C_int{1, 56}}, -+ {"kern.ngroups", []_C_int{1, 18}}, -+ {"kern.nosuidcoredump", []_C_int{1, 32}}, -+ {"kern.nprocs", []_C_int{1, 47}}, -+ {"kern.nselcoll", []_C_int{1, 43}}, -+ {"kern.nthreads", []_C_int{1, 26}}, -+ {"kern.numvnodes", []_C_int{1, 58}}, -+ {"kern.osrelease", []_C_int{1, 2}}, -+ {"kern.osrevision", []_C_int{1, 3}}, -+ {"kern.ostype", []_C_int{1, 1}}, -+ {"kern.osversion", []_C_int{1, 27}}, -+ {"kern.pool_debug", []_C_int{1, 77}}, -+ {"kern.posix1version", []_C_int{1, 17}}, -+ {"kern.proc", []_C_int{1, 66}}, -+ {"kern.random", []_C_int{1, 31}}, -+ {"kern.rawpartition", []_C_int{1, 24}}, -+ {"kern.saved_ids", []_C_int{1, 20}}, -+ {"kern.securelevel", []_C_int{1, 9}}, -+ {"kern.seminfo", []_C_int{1, 61}}, -+ {"kern.shminfo", []_C_int{1, 62}}, -+ {"kern.somaxconn", []_C_int{1, 28}}, -+ {"kern.sominconn", []_C_int{1, 29}}, -+ {"kern.splassert", []_C_int{1, 54}}, -+ {"kern.stackgap_random", []_C_int{1, 50}}, -+ {"kern.sysvipc_info", []_C_int{1, 51}}, -+ {"kern.sysvmsg", []_C_int{1, 34}}, -+ {"kern.sysvsem", []_C_int{1, 35}}, -+ {"kern.sysvshm", []_C_int{1, 36}}, -+ {"kern.timecounter.choice", []_C_int{1, 69, 4}}, -+ {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, -+ {"kern.timecounter.tick", []_C_int{1, 69, 1}}, -+ {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, -+ {"kern.tty.maxptys", []_C_int{1, 44, 6}}, -+ {"kern.tty.nptys", []_C_int{1, 44, 7}}, -+ {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, -+ {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, -+ {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, -+ {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, -+ {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, -+ {"kern.ttycount", []_C_int{1, 57}}, -+ {"kern.userasymcrypto", []_C_int{1, 60}}, -+ {"kern.usercrypto", []_C_int{1, 52}}, -+ {"kern.usermount", []_C_int{1, 30}}, -+ {"kern.version", []_C_int{1, 4}}, -+ {"kern.vnode", []_C_int{1, 13}}, -+ {"kern.watchdog.auto", []_C_int{1, 64, 2}}, -+ {"kern.watchdog.period", []_C_int{1, 64, 1}}, -+ {"net.bpf.bufsize", []_C_int{4, 31, 1}}, -+ {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, -+ {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, -+ {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, -+ {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, -+ {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, -+ {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, -+ {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, -+ {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, -+ {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, -+ {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, -+ {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, -+ {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, -+ {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, -+ {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, -+ {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, -+ {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, -+ {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, -+ {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, -+ {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, -+ {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, -+ {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, -+ {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, -+ {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, -+ {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, -+ {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, -+ {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, -+ {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, -+ {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, -+ {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, -+ {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, -+ {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, -+ {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, -+ {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, -+ {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, -+ {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, -+ {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, -+ {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, -+ {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, -+ {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, -+ {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, -+ {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, -+ {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, -+ {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, -+ {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, -+ {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, -+ {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, -+ {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, -+ {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, -+ {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, -+ {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, -+ {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, -+ {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, -+ {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, -+ {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, -+ {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, -+ {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, -+ {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, -+ {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, -+ {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, -+ {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, -+ {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, -+ {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, -+ {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, -+ {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, -+ {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, -+ {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, -+ {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, -+ {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, -+ {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, -+ {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, -+ {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, -+ {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, -+ {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, -+ {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, -+ {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, -+ {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, -+ {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, -+ {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, -+ {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, -+ {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, -+ {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, -+ {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, -+ {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, -+ {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, -+ {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, -+ {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, -+ {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, -+ {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, -+ {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, -+ {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, -+ {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, -+ {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, -+ {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, -+ {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, -+ {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, -+ {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, -+ {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, -+ {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, -+ {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, -+ {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, -+ {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, -+ {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, -+ {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, -+ {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, -+ {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, -+ {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, -+ {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, -+ {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, -+ {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, -+ {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, -+ {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, -+ {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, -+ {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, -+ {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, -+ {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, -+ {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, -+ {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, -+ {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, -+ {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, -+ {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, -+ {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, -+ {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, -+ {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, -+ {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, -+ {"net.key.sadb_dump", []_C_int{4, 30, 1}}, -+ {"net.key.spd_dump", []_C_int{4, 30, 2}}, -+ {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, -+ {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, -+ {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, -+ {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, -+ {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, -+ {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, -+ {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, -+ {"net.mpls.ttl", []_C_int{4, 33, 2}}, -+ {"net.pflow.stats", []_C_int{4, 34, 1}}, -+ {"net.pipex.enable", []_C_int{4, 35, 1}}, -+ {"vm.anonmin", []_C_int{2, 7}}, -+ {"vm.loadavg", []_C_int{2, 2}}, -+ {"vm.maxslp", []_C_int{2, 10}}, -+ {"vm.nkmempages", []_C_int{2, 6}}, -+ {"vm.psstrings", []_C_int{2, 3}}, -+ {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, -+ {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, -+ {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, -+ {"vm.uspace", []_C_int{2, 11}}, -+ {"vm.uvmexp", []_C_int{2, 4}}, -+ {"vm.vmmeter", []_C_int{2, 1}}, -+ {"vm.vnodemin", []_C_int{2, 9}}, -+ {"vm.vtextmin", []_C_int{2, 8}}, -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go -new file mode 100644 -index 0000000..2786773 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go -new file mode 100644 -index 0000000..09de240 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go -new file mode 100644 -index 0000000..b8c9aea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go -@@ -0,0 +1,358 @@ -+// mksysnum_darwin.pl /usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS___SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_ATSOCKET = 206 -+ SYS_ATGETMSG = 207 -+ SYS_ATPUTMSG = 208 -+ SYS_ATPSNDREQ = 209 -+ SYS_ATPSNDRSP = 210 -+ SYS_ATPGETREQ = 211 -+ SYS_ATPGETRSP = 212 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SEM_GETVALUE = 274 -+ SYS_SEM_INIT = 275 -+ SYS_SEM_DESTROY = 276 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MAXSYSCALL = 440 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go -new file mode 100644 -index 0000000..26677eb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm64,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go -new file mode 100644 -index 0000000..d6038fa ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go -@@ -0,0 +1,304 @@ -+// mksysnum_dragonfly.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void exit(int rval); } -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int -+ SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } -+ SYS_ACCESS = 33 // { int access(char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } -+ SYS_VFORK = 66 // { pid_t vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } -+ SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } -+ SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } -+ SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } -+ SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } -+ SYS_UNAME = 164 // { int uname(struct utsname *name); } -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, \ -+ SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, \ -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \ -+ // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int -+ SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } -+ SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, \ -+ SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ -+ SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \ -+ SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int msgsnd(int msqid, void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \ -+ SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } -+ SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \ -+ SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\ -+ SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } -+ SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } -+ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } -+ SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } -+ SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } -+ SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } -+ SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } -+ SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, \ -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,\ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,\ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, \ -+ SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_SCTP_PEELOFF = 364 // { int sctp_peeloff(int sd, caddr_t name ); } -+ SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ -+ SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } -+ SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } -+ SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } -+ SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } -+ SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } -+ SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } -+ SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } -+ SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } -+ SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } -+ SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } -+ SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } -+ SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } -+ SYS_CLOSEFROM = 474 // { int closefrom(int fd); } -+ SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } -+ SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } -+ SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, \ -+ SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } -+ SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, \ -+ SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } -+ SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } -+ SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } -+ SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } -+ SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } -+ SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, \ -+ SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \ -+ SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, \ -+ SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, \ -+ SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, \ -+ SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \ -+ SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } -+ SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } -+ SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } -+ SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } -+ SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } -+ SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } -+ SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } -+ SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } -+ SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, \ -+ SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } -+ SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, \ -+ SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, \ -+ SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, \ -+ SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } -+ SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, \ -+ SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } -+ SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } -+ SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, \ -+ SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, \ -+ SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, \ -+ SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \ -+ SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ -+ SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, \ -+ SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \ -+ SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } -+ SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } -+ SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } -+ SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } -+ SYS_SWAPOFF = 529 // { int swapoff(char *name); } -+ SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, \ -+ SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } -+ SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } -+ SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } -+ SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go -new file mode 100644 -index 0000000..262a845 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go -new file mode 100644 -index 0000000..57a60ea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go -new file mode 100644 -index 0000000..206b9f6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -new file mode 100644 -index 0000000..206b3c2 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -@@ -0,0 +1,388 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__i386__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86OLD = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_VM86 = 166 -+ SYS_QUERY_MODULE = 167 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_SETRESGID = 170 -+ SYS_GETRESGID = 171 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_CHOWN = 182 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_GETPMSG = 188 -+ SYS_PUTPMSG = 189 -+ SYS_VFORK = 190 -+ SYS_UGETRLIMIT = 191 -+ SYS_MMAP2 = 192 -+ SYS_TRUNCATE64 = 193 -+ SYS_FTRUNCATE64 = 194 -+ SYS_STAT64 = 195 -+ SYS_LSTAT64 = 196 -+ SYS_FSTAT64 = 197 -+ SYS_LCHOWN32 = 198 -+ SYS_GETUID32 = 199 -+ SYS_GETGID32 = 200 -+ SYS_GETEUID32 = 201 -+ SYS_GETEGID32 = 202 -+ SYS_SETREUID32 = 203 -+ SYS_SETREGID32 = 204 -+ SYS_GETGROUPS32 = 205 -+ SYS_SETGROUPS32 = 206 -+ SYS_FCHOWN32 = 207 -+ SYS_SETRESUID32 = 208 -+ SYS_GETRESUID32 = 209 -+ SYS_SETRESGID32 = 210 -+ SYS_GETRESGID32 = 211 -+ SYS_CHOWN32 = 212 -+ SYS_SETUID32 = 213 -+ SYS_SETGID32 = 214 -+ SYS_SETFSUID32 = 215 -+ SYS_SETFSGID32 = 216 -+ SYS_PIVOT_ROOT = 217 -+ SYS_MINCORE = 218 -+ SYS_MADVISE = 219 -+ SYS_GETDENTS64 = 220 -+ SYS_FCNTL64 = 221 -+ SYS_GETTID = 224 -+ SYS_READAHEAD = 225 -+ SYS_SETXATTR = 226 -+ SYS_LSETXATTR = 227 -+ SYS_FSETXATTR = 228 -+ SYS_GETXATTR = 229 -+ SYS_LGETXATTR = 230 -+ SYS_FGETXATTR = 231 -+ SYS_LISTXATTR = 232 -+ SYS_LLISTXATTR = 233 -+ SYS_FLISTXATTR = 234 -+ SYS_REMOVEXATTR = 235 -+ SYS_LREMOVEXATTR = 236 -+ SYS_FREMOVEXATTR = 237 -+ SYS_TKILL = 238 -+ SYS_SENDFILE64 = 239 -+ SYS_FUTEX = 240 -+ SYS_SCHED_SETAFFINITY = 241 -+ SYS_SCHED_GETAFFINITY = 242 -+ SYS_SET_THREAD_AREA = 243 -+ SYS_GET_THREAD_AREA = 244 -+ SYS_IO_SETUP = 245 -+ SYS_IO_DESTROY = 246 -+ SYS_IO_GETEVENTS = 247 -+ SYS_IO_SUBMIT = 248 -+ SYS_IO_CANCEL = 249 -+ SYS_FADVISE64 = 250 -+ SYS_EXIT_GROUP = 252 -+ SYS_LOOKUP_DCOOKIE = 253 -+ SYS_EPOLL_CREATE = 254 -+ SYS_EPOLL_CTL = 255 -+ SYS_EPOLL_WAIT = 256 -+ SYS_REMAP_FILE_PAGES = 257 -+ SYS_SET_TID_ADDRESS = 258 -+ SYS_TIMER_CREATE = 259 -+ SYS_TIMER_SETTIME = 260 -+ SYS_TIMER_GETTIME = 261 -+ SYS_TIMER_GETOVERRUN = 262 -+ SYS_TIMER_DELETE = 263 -+ SYS_CLOCK_SETTIME = 264 -+ SYS_CLOCK_GETTIME = 265 -+ SYS_CLOCK_GETRES = 266 -+ SYS_CLOCK_NANOSLEEP = 267 -+ SYS_STATFS64 = 268 -+ SYS_FSTATFS64 = 269 -+ SYS_TGKILL = 270 -+ SYS_UTIMES = 271 -+ SYS_FADVISE64_64 = 272 -+ SYS_VSERVER = 273 -+ SYS_MBIND = 274 -+ SYS_GET_MEMPOLICY = 275 -+ SYS_SET_MEMPOLICY = 276 -+ SYS_MQ_OPEN = 277 -+ SYS_MQ_UNLINK = 278 -+ SYS_MQ_TIMEDSEND = 279 -+ SYS_MQ_TIMEDRECEIVE = 280 -+ SYS_MQ_NOTIFY = 281 -+ SYS_MQ_GETSETATTR = 282 -+ SYS_KEXEC_LOAD = 283 -+ SYS_WAITID = 284 -+ SYS_ADD_KEY = 286 -+ SYS_REQUEST_KEY = 287 -+ SYS_KEYCTL = 288 -+ SYS_IOPRIO_SET = 289 -+ SYS_IOPRIO_GET = 290 -+ SYS_INOTIFY_INIT = 291 -+ SYS_INOTIFY_ADD_WATCH = 292 -+ SYS_INOTIFY_RM_WATCH = 293 -+ SYS_MIGRATE_PAGES = 294 -+ SYS_OPENAT = 295 -+ SYS_MKDIRAT = 296 -+ SYS_MKNODAT = 297 -+ SYS_FCHOWNAT = 298 -+ SYS_FUTIMESAT = 299 -+ SYS_FSTATAT64 = 300 -+ SYS_UNLINKAT = 301 -+ SYS_RENAMEAT = 302 -+ SYS_LINKAT = 303 -+ SYS_SYMLINKAT = 304 -+ SYS_READLINKAT = 305 -+ SYS_FCHMODAT = 306 -+ SYS_FACCESSAT = 307 -+ SYS_PSELECT6 = 308 -+ SYS_PPOLL = 309 -+ SYS_UNSHARE = 310 -+ SYS_SET_ROBUST_LIST = 311 -+ SYS_GET_ROBUST_LIST = 312 -+ SYS_SPLICE = 313 -+ SYS_SYNC_FILE_RANGE = 314 -+ SYS_TEE = 315 -+ SYS_VMSPLICE = 316 -+ SYS_MOVE_PAGES = 317 -+ SYS_GETCPU = 318 -+ SYS_EPOLL_PWAIT = 319 -+ SYS_UTIMENSAT = 320 -+ SYS_SIGNALFD = 321 -+ SYS_TIMERFD_CREATE = 322 -+ SYS_EVENTFD = 323 -+ SYS_FALLOCATE = 324 -+ SYS_TIMERFD_SETTIME = 325 -+ SYS_TIMERFD_GETTIME = 326 -+ SYS_SIGNALFD4 = 327 -+ SYS_EVENTFD2 = 328 -+ SYS_EPOLL_CREATE1 = 329 -+ SYS_DUP3 = 330 -+ SYS_PIPE2 = 331 -+ SYS_INOTIFY_INIT1 = 332 -+ SYS_PREADV = 333 -+ SYS_PWRITEV = 334 -+ SYS_RT_TGSIGQUEUEINFO = 335 -+ SYS_PERF_EVENT_OPEN = 336 -+ SYS_RECVMMSG = 337 -+ SYS_FANOTIFY_INIT = 338 -+ SYS_FANOTIFY_MARK = 339 -+ SYS_PRLIMIT64 = 340 -+ SYS_NAME_TO_HANDLE_AT = 341 -+ SYS_OPEN_BY_HANDLE_AT = 342 -+ SYS_CLOCK_ADJTIME = 343 -+ SYS_SYNCFS = 344 -+ SYS_SENDMMSG = 345 -+ SYS_SETNS = 346 -+ SYS_PROCESS_VM_READV = 347 -+ SYS_PROCESS_VM_WRITEV = 348 -+ SYS_KCMP = 349 -+ SYS_FINIT_MODULE = 350 -+ SYS_SCHED_SETATTR = 351 -+ SYS_SCHED_GETATTR = 352 -+ SYS_RENAMEAT2 = 353 -+ SYS_SECCOMP = 354 -+ SYS_GETRANDOM = 355 -+ SYS_MEMFD_CREATE = 356 -+ SYS_BPF = 357 -+ SYS_EXECVEAT = 358 -+ SYS_SOCKET = 359 -+ SYS_SOCKETPAIR = 360 -+ SYS_BIND = 361 -+ SYS_CONNECT = 362 -+ SYS_LISTEN = 363 -+ SYS_ACCEPT4 = 364 -+ SYS_GETSOCKOPT = 365 -+ SYS_SETSOCKOPT = 366 -+ SYS_GETSOCKNAME = 367 -+ SYS_GETPEERNAME = 368 -+ SYS_SENDTO = 369 -+ SYS_SENDMSG = 370 -+ SYS_RECVFROM = 371 -+ SYS_RECVMSG = 372 -+ SYS_SHUTDOWN = 373 -+ SYS_USERFAULTFD = 374 -+ SYS_MEMBARRIER = 375 -+ SYS_MLOCK2 = 376 -+ SYS_COPY_FILE_RANGE = 377 -+ SYS_PREADV2 = 378 -+ SYS_PWRITEV2 = 379 -+ SYS_PKEY_MPROTECT = 380 -+ SYS_PKEY_ALLOC = 381 -+ SYS_PKEY_FREE = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -new file mode 100644 -index 0000000..9042317 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -@@ -0,0 +1,341 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 0 -+ SYS_WRITE = 1 -+ SYS_OPEN = 2 -+ SYS_CLOSE = 3 -+ SYS_STAT = 4 -+ SYS_FSTAT = 5 -+ SYS_LSTAT = 6 -+ SYS_POLL = 7 -+ SYS_LSEEK = 8 -+ SYS_MMAP = 9 -+ SYS_MPROTECT = 10 -+ SYS_MUNMAP = 11 -+ SYS_BRK = 12 -+ SYS_RT_SIGACTION = 13 -+ SYS_RT_SIGPROCMASK = 14 -+ SYS_RT_SIGRETURN = 15 -+ SYS_IOCTL = 16 -+ SYS_PREAD64 = 17 -+ SYS_PWRITE64 = 18 -+ SYS_READV = 19 -+ SYS_WRITEV = 20 -+ SYS_ACCESS = 21 -+ SYS_PIPE = 22 -+ SYS_SELECT = 23 -+ SYS_SCHED_YIELD = 24 -+ SYS_MREMAP = 25 -+ SYS_MSYNC = 26 -+ SYS_MINCORE = 27 -+ SYS_MADVISE = 28 -+ SYS_SHMGET = 29 -+ SYS_SHMAT = 30 -+ SYS_SHMCTL = 31 -+ SYS_DUP = 32 -+ SYS_DUP2 = 33 -+ SYS_PAUSE = 34 -+ SYS_NANOSLEEP = 35 -+ SYS_GETITIMER = 36 -+ SYS_ALARM = 37 -+ SYS_SETITIMER = 38 -+ SYS_GETPID = 39 -+ SYS_SENDFILE = 40 -+ SYS_SOCKET = 41 -+ SYS_CONNECT = 42 -+ SYS_ACCEPT = 43 -+ SYS_SENDTO = 44 -+ SYS_RECVFROM = 45 -+ SYS_SENDMSG = 46 -+ SYS_RECVMSG = 47 -+ SYS_SHUTDOWN = 48 -+ SYS_BIND = 49 -+ SYS_LISTEN = 50 -+ SYS_GETSOCKNAME = 51 -+ SYS_GETPEERNAME = 52 -+ SYS_SOCKETPAIR = 53 -+ SYS_SETSOCKOPT = 54 -+ SYS_GETSOCKOPT = 55 -+ SYS_CLONE = 56 -+ SYS_FORK = 57 -+ SYS_VFORK = 58 -+ SYS_EXECVE = 59 -+ SYS_EXIT = 60 -+ SYS_WAIT4 = 61 -+ SYS_KILL = 62 -+ SYS_UNAME = 63 -+ SYS_SEMGET = 64 -+ SYS_SEMOP = 65 -+ SYS_SEMCTL = 66 -+ SYS_SHMDT = 67 -+ SYS_MSGGET = 68 -+ SYS_MSGSND = 69 -+ SYS_MSGRCV = 70 -+ SYS_MSGCTL = 71 -+ SYS_FCNTL = 72 -+ SYS_FLOCK = 73 -+ SYS_FSYNC = 74 -+ SYS_FDATASYNC = 75 -+ SYS_TRUNCATE = 76 -+ SYS_FTRUNCATE = 77 -+ SYS_GETDENTS = 78 -+ SYS_GETCWD = 79 -+ SYS_CHDIR = 80 -+ SYS_FCHDIR = 81 -+ SYS_RENAME = 82 -+ SYS_MKDIR = 83 -+ SYS_RMDIR = 84 -+ SYS_CREAT = 85 -+ SYS_LINK = 86 -+ SYS_UNLINK = 87 -+ SYS_SYMLINK = 88 -+ SYS_READLINK = 89 -+ SYS_CHMOD = 90 -+ SYS_FCHMOD = 91 -+ SYS_CHOWN = 92 -+ SYS_FCHOWN = 93 -+ SYS_LCHOWN = 94 -+ SYS_UMASK = 95 -+ SYS_GETTIMEOFDAY = 96 -+ SYS_GETRLIMIT = 97 -+ SYS_GETRUSAGE = 98 -+ SYS_SYSINFO = 99 -+ SYS_TIMES = 100 -+ SYS_PTRACE = 101 -+ SYS_GETUID = 102 -+ SYS_SYSLOG = 103 -+ SYS_GETGID = 104 -+ SYS_SETUID = 105 -+ SYS_SETGID = 106 -+ SYS_GETEUID = 107 -+ SYS_GETEGID = 108 -+ SYS_SETPGID = 109 -+ SYS_GETPPID = 110 -+ SYS_GETPGRP = 111 -+ SYS_SETSID = 112 -+ SYS_SETREUID = 113 -+ SYS_SETREGID = 114 -+ SYS_GETGROUPS = 115 -+ SYS_SETGROUPS = 116 -+ SYS_SETRESUID = 117 -+ SYS_GETRESUID = 118 -+ SYS_SETRESGID = 119 -+ SYS_GETRESGID = 120 -+ SYS_GETPGID = 121 -+ SYS_SETFSUID = 122 -+ SYS_SETFSGID = 123 -+ SYS_GETSID = 124 -+ SYS_CAPGET = 125 -+ SYS_CAPSET = 126 -+ SYS_RT_SIGPENDING = 127 -+ SYS_RT_SIGTIMEDWAIT = 128 -+ SYS_RT_SIGQUEUEINFO = 129 -+ SYS_RT_SIGSUSPEND = 130 -+ SYS_SIGALTSTACK = 131 -+ SYS_UTIME = 132 -+ SYS_MKNOD = 133 -+ SYS_USELIB = 134 -+ SYS_PERSONALITY = 135 -+ SYS_USTAT = 136 -+ SYS_STATFS = 137 -+ SYS_FSTATFS = 138 -+ SYS_SYSFS = 139 -+ SYS_GETPRIORITY = 140 -+ SYS_SETPRIORITY = 141 -+ SYS_SCHED_SETPARAM = 142 -+ SYS_SCHED_GETPARAM = 143 -+ SYS_SCHED_SETSCHEDULER = 144 -+ SYS_SCHED_GETSCHEDULER = 145 -+ SYS_SCHED_GET_PRIORITY_MAX = 146 -+ SYS_SCHED_GET_PRIORITY_MIN = 147 -+ SYS_SCHED_RR_GET_INTERVAL = 148 -+ SYS_MLOCK = 149 -+ SYS_MUNLOCK = 150 -+ SYS_MLOCKALL = 151 -+ SYS_MUNLOCKALL = 152 -+ SYS_VHANGUP = 153 -+ SYS_MODIFY_LDT = 154 -+ SYS_PIVOT_ROOT = 155 -+ SYS__SYSCTL = 156 -+ SYS_PRCTL = 157 -+ SYS_ARCH_PRCTL = 158 -+ SYS_ADJTIMEX = 159 -+ SYS_SETRLIMIT = 160 -+ SYS_CHROOT = 161 -+ SYS_SYNC = 162 -+ SYS_ACCT = 163 -+ SYS_SETTIMEOFDAY = 164 -+ SYS_MOUNT = 165 -+ SYS_UMOUNT2 = 166 -+ SYS_SWAPON = 167 -+ SYS_SWAPOFF = 168 -+ SYS_REBOOT = 169 -+ SYS_SETHOSTNAME = 170 -+ SYS_SETDOMAINNAME = 171 -+ SYS_IOPL = 172 -+ SYS_IOPERM = 173 -+ SYS_CREATE_MODULE = 174 -+ SYS_INIT_MODULE = 175 -+ SYS_DELETE_MODULE = 176 -+ SYS_GET_KERNEL_SYMS = 177 -+ SYS_QUERY_MODULE = 178 -+ SYS_QUOTACTL = 179 -+ SYS_NFSSERVCTL = 180 -+ SYS_GETPMSG = 181 -+ SYS_PUTPMSG = 182 -+ SYS_AFS_SYSCALL = 183 -+ SYS_TUXCALL = 184 -+ SYS_SECURITY = 185 -+ SYS_GETTID = 186 -+ SYS_READAHEAD = 187 -+ SYS_SETXATTR = 188 -+ SYS_LSETXATTR = 189 -+ SYS_FSETXATTR = 190 -+ SYS_GETXATTR = 191 -+ SYS_LGETXATTR = 192 -+ SYS_FGETXATTR = 193 -+ SYS_LISTXATTR = 194 -+ SYS_LLISTXATTR = 195 -+ SYS_FLISTXATTR = 196 -+ SYS_REMOVEXATTR = 197 -+ SYS_LREMOVEXATTR = 198 -+ SYS_FREMOVEXATTR = 199 -+ SYS_TKILL = 200 -+ SYS_TIME = 201 -+ SYS_FUTEX = 202 -+ SYS_SCHED_SETAFFINITY = 203 -+ SYS_SCHED_GETAFFINITY = 204 -+ SYS_SET_THREAD_AREA = 205 -+ SYS_IO_SETUP = 206 -+ SYS_IO_DESTROY = 207 -+ SYS_IO_GETEVENTS = 208 -+ SYS_IO_SUBMIT = 209 -+ SYS_IO_CANCEL = 210 -+ SYS_GET_THREAD_AREA = 211 -+ SYS_LOOKUP_DCOOKIE = 212 -+ SYS_EPOLL_CREATE = 213 -+ SYS_EPOLL_CTL_OLD = 214 -+ SYS_EPOLL_WAIT_OLD = 215 -+ SYS_REMAP_FILE_PAGES = 216 -+ SYS_GETDENTS64 = 217 -+ SYS_SET_TID_ADDRESS = 218 -+ SYS_RESTART_SYSCALL = 219 -+ SYS_SEMTIMEDOP = 220 -+ SYS_FADVISE64 = 221 -+ SYS_TIMER_CREATE = 222 -+ SYS_TIMER_SETTIME = 223 -+ SYS_TIMER_GETTIME = 224 -+ SYS_TIMER_GETOVERRUN = 225 -+ SYS_TIMER_DELETE = 226 -+ SYS_CLOCK_SETTIME = 227 -+ SYS_CLOCK_GETTIME = 228 -+ SYS_CLOCK_GETRES = 229 -+ SYS_CLOCK_NANOSLEEP = 230 -+ SYS_EXIT_GROUP = 231 -+ SYS_EPOLL_WAIT = 232 -+ SYS_EPOLL_CTL = 233 -+ SYS_TGKILL = 234 -+ SYS_UTIMES = 235 -+ SYS_VSERVER = 236 -+ SYS_MBIND = 237 -+ SYS_SET_MEMPOLICY = 238 -+ SYS_GET_MEMPOLICY = 239 -+ SYS_MQ_OPEN = 240 -+ SYS_MQ_UNLINK = 241 -+ SYS_MQ_TIMEDSEND = 242 -+ SYS_MQ_TIMEDRECEIVE = 243 -+ SYS_MQ_NOTIFY = 244 -+ SYS_MQ_GETSETATTR = 245 -+ SYS_KEXEC_LOAD = 246 -+ SYS_WAITID = 247 -+ SYS_ADD_KEY = 248 -+ SYS_REQUEST_KEY = 249 -+ SYS_KEYCTL = 250 -+ SYS_IOPRIO_SET = 251 -+ SYS_IOPRIO_GET = 252 -+ SYS_INOTIFY_INIT = 253 -+ SYS_INOTIFY_ADD_WATCH = 254 -+ SYS_INOTIFY_RM_WATCH = 255 -+ SYS_MIGRATE_PAGES = 256 -+ SYS_OPENAT = 257 -+ SYS_MKDIRAT = 258 -+ SYS_MKNODAT = 259 -+ SYS_FCHOWNAT = 260 -+ SYS_FUTIMESAT = 261 -+ SYS_NEWFSTATAT = 262 -+ SYS_UNLINKAT = 263 -+ SYS_RENAMEAT = 264 -+ SYS_LINKAT = 265 -+ SYS_SYMLINKAT = 266 -+ SYS_READLINKAT = 267 -+ SYS_FCHMODAT = 268 -+ SYS_FACCESSAT = 269 -+ SYS_PSELECT6 = 270 -+ SYS_PPOLL = 271 -+ SYS_UNSHARE = 272 -+ SYS_SET_ROBUST_LIST = 273 -+ SYS_GET_ROBUST_LIST = 274 -+ SYS_SPLICE = 275 -+ SYS_TEE = 276 -+ SYS_SYNC_FILE_RANGE = 277 -+ SYS_VMSPLICE = 278 -+ SYS_MOVE_PAGES = 279 -+ SYS_UTIMENSAT = 280 -+ SYS_EPOLL_PWAIT = 281 -+ SYS_SIGNALFD = 282 -+ SYS_TIMERFD_CREATE = 283 -+ SYS_EVENTFD = 284 -+ SYS_FALLOCATE = 285 -+ SYS_TIMERFD_SETTIME = 286 -+ SYS_TIMERFD_GETTIME = 287 -+ SYS_ACCEPT4 = 288 -+ SYS_SIGNALFD4 = 289 -+ SYS_EVENTFD2 = 290 -+ SYS_EPOLL_CREATE1 = 291 -+ SYS_DUP3 = 292 -+ SYS_PIPE2 = 293 -+ SYS_INOTIFY_INIT1 = 294 -+ SYS_PREADV = 295 -+ SYS_PWRITEV = 296 -+ SYS_RT_TGSIGQUEUEINFO = 297 -+ SYS_PERF_EVENT_OPEN = 298 -+ SYS_RECVMMSG = 299 -+ SYS_FANOTIFY_INIT = 300 -+ SYS_FANOTIFY_MARK = 301 -+ SYS_PRLIMIT64 = 302 -+ SYS_NAME_TO_HANDLE_AT = 303 -+ SYS_OPEN_BY_HANDLE_AT = 304 -+ SYS_CLOCK_ADJTIME = 305 -+ SYS_SYNCFS = 306 -+ SYS_SENDMMSG = 307 -+ SYS_SETNS = 308 -+ SYS_GETCPU = 309 -+ SYS_PROCESS_VM_READV = 310 -+ SYS_PROCESS_VM_WRITEV = 311 -+ SYS_KCMP = 312 -+ SYS_FINIT_MODULE = 313 -+ SYS_SCHED_SETATTR = 314 -+ SYS_SCHED_GETATTR = 315 -+ SYS_RENAMEAT2 = 316 -+ SYS_SECCOMP = 317 -+ SYS_GETRANDOM = 318 -+ SYS_MEMFD_CREATE = 319 -+ SYS_KEXEC_FILE_LOAD = 320 -+ SYS_BPF = 321 -+ SYS_EXECVEAT = 322 -+ SYS_USERFAULTFD = 323 -+ SYS_MEMBARRIER = 324 -+ SYS_MLOCK2 = 325 -+ SYS_COPY_FILE_RANGE = 326 -+ SYS_PREADV2 = 327 -+ SYS_PWRITEV2 = 328 -+ SYS_PKEY_MPROTECT = 329 -+ SYS_PKEY_ALLOC = 330 -+ SYS_PKEY_FREE = 331 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -new file mode 100644 -index 0000000..e3e6745 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -@@ -0,0 +1,361 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__ARM_EABI__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_PTRACE = 26 -+ SYS_PAUSE = 29 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_SETPGID = 57 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SYMLINK = 83 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_VHANGUP = 111 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_SETRESGID = 170 -+ SYS_GETRESGID = 171 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_CHOWN = 182 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_VFORK = 190 -+ SYS_UGETRLIMIT = 191 -+ SYS_MMAP2 = 192 -+ SYS_TRUNCATE64 = 193 -+ SYS_FTRUNCATE64 = 194 -+ SYS_STAT64 = 195 -+ SYS_LSTAT64 = 196 -+ SYS_FSTAT64 = 197 -+ SYS_LCHOWN32 = 198 -+ SYS_GETUID32 = 199 -+ SYS_GETGID32 = 200 -+ SYS_GETEUID32 = 201 -+ SYS_GETEGID32 = 202 -+ SYS_SETREUID32 = 203 -+ SYS_SETREGID32 = 204 -+ SYS_GETGROUPS32 = 205 -+ SYS_SETGROUPS32 = 206 -+ SYS_FCHOWN32 = 207 -+ SYS_SETRESUID32 = 208 -+ SYS_GETRESUID32 = 209 -+ SYS_SETRESGID32 = 210 -+ SYS_GETRESGID32 = 211 -+ SYS_CHOWN32 = 212 -+ SYS_SETUID32 = 213 -+ SYS_SETGID32 = 214 -+ SYS_SETFSUID32 = 215 -+ SYS_SETFSGID32 = 216 -+ SYS_GETDENTS64 = 217 -+ SYS_PIVOT_ROOT = 218 -+ SYS_MINCORE = 219 -+ SYS_MADVISE = 220 -+ SYS_FCNTL64 = 221 -+ SYS_GETTID = 224 -+ SYS_READAHEAD = 225 -+ SYS_SETXATTR = 226 -+ SYS_LSETXATTR = 227 -+ SYS_FSETXATTR = 228 -+ SYS_GETXATTR = 229 -+ SYS_LGETXATTR = 230 -+ SYS_FGETXATTR = 231 -+ SYS_LISTXATTR = 232 -+ SYS_LLISTXATTR = 233 -+ SYS_FLISTXATTR = 234 -+ SYS_REMOVEXATTR = 235 -+ SYS_LREMOVEXATTR = 236 -+ SYS_FREMOVEXATTR = 237 -+ SYS_TKILL = 238 -+ SYS_SENDFILE64 = 239 -+ SYS_FUTEX = 240 -+ SYS_SCHED_SETAFFINITY = 241 -+ SYS_SCHED_GETAFFINITY = 242 -+ SYS_IO_SETUP = 243 -+ SYS_IO_DESTROY = 244 -+ SYS_IO_GETEVENTS = 245 -+ SYS_IO_SUBMIT = 246 -+ SYS_IO_CANCEL = 247 -+ SYS_EXIT_GROUP = 248 -+ SYS_LOOKUP_DCOOKIE = 249 -+ SYS_EPOLL_CREATE = 250 -+ SYS_EPOLL_CTL = 251 -+ SYS_EPOLL_WAIT = 252 -+ SYS_REMAP_FILE_PAGES = 253 -+ SYS_SET_TID_ADDRESS = 256 -+ SYS_TIMER_CREATE = 257 -+ SYS_TIMER_SETTIME = 258 -+ SYS_TIMER_GETTIME = 259 -+ SYS_TIMER_GETOVERRUN = 260 -+ SYS_TIMER_DELETE = 261 -+ SYS_CLOCK_SETTIME = 262 -+ SYS_CLOCK_GETTIME = 263 -+ SYS_CLOCK_GETRES = 264 -+ SYS_CLOCK_NANOSLEEP = 265 -+ SYS_STATFS64 = 266 -+ SYS_FSTATFS64 = 267 -+ SYS_TGKILL = 268 -+ SYS_UTIMES = 269 -+ SYS_ARM_FADVISE64_64 = 270 -+ SYS_PCICONFIG_IOBASE = 271 -+ SYS_PCICONFIG_READ = 272 -+ SYS_PCICONFIG_WRITE = 273 -+ SYS_MQ_OPEN = 274 -+ SYS_MQ_UNLINK = 275 -+ SYS_MQ_TIMEDSEND = 276 -+ SYS_MQ_TIMEDRECEIVE = 277 -+ SYS_MQ_NOTIFY = 278 -+ SYS_MQ_GETSETATTR = 279 -+ SYS_WAITID = 280 -+ SYS_SOCKET = 281 -+ SYS_BIND = 282 -+ SYS_CONNECT = 283 -+ SYS_LISTEN = 284 -+ SYS_ACCEPT = 285 -+ SYS_GETSOCKNAME = 286 -+ SYS_GETPEERNAME = 287 -+ SYS_SOCKETPAIR = 288 -+ SYS_SEND = 289 -+ SYS_SENDTO = 290 -+ SYS_RECV = 291 -+ SYS_RECVFROM = 292 -+ SYS_SHUTDOWN = 293 -+ SYS_SETSOCKOPT = 294 -+ SYS_GETSOCKOPT = 295 -+ SYS_SENDMSG = 296 -+ SYS_RECVMSG = 297 -+ SYS_SEMOP = 298 -+ SYS_SEMGET = 299 -+ SYS_SEMCTL = 300 -+ SYS_MSGSND = 301 -+ SYS_MSGRCV = 302 -+ SYS_MSGGET = 303 -+ SYS_MSGCTL = 304 -+ SYS_SHMAT = 305 -+ SYS_SHMDT = 306 -+ SYS_SHMGET = 307 -+ SYS_SHMCTL = 308 -+ SYS_ADD_KEY = 309 -+ SYS_REQUEST_KEY = 310 -+ SYS_KEYCTL = 311 -+ SYS_SEMTIMEDOP = 312 -+ SYS_VSERVER = 313 -+ SYS_IOPRIO_SET = 314 -+ SYS_IOPRIO_GET = 315 -+ SYS_INOTIFY_INIT = 316 -+ SYS_INOTIFY_ADD_WATCH = 317 -+ SYS_INOTIFY_RM_WATCH = 318 -+ SYS_MBIND = 319 -+ SYS_GET_MEMPOLICY = 320 -+ SYS_SET_MEMPOLICY = 321 -+ SYS_OPENAT = 322 -+ SYS_MKDIRAT = 323 -+ SYS_MKNODAT = 324 -+ SYS_FCHOWNAT = 325 -+ SYS_FUTIMESAT = 326 -+ SYS_FSTATAT64 = 327 -+ SYS_UNLINKAT = 328 -+ SYS_RENAMEAT = 329 -+ SYS_LINKAT = 330 -+ SYS_SYMLINKAT = 331 -+ SYS_READLINKAT = 332 -+ SYS_FCHMODAT = 333 -+ SYS_FACCESSAT = 334 -+ SYS_PSELECT6 = 335 -+ SYS_PPOLL = 336 -+ SYS_UNSHARE = 337 -+ SYS_SET_ROBUST_LIST = 338 -+ SYS_GET_ROBUST_LIST = 339 -+ SYS_SPLICE = 340 -+ SYS_ARM_SYNC_FILE_RANGE = 341 -+ SYS_TEE = 342 -+ SYS_VMSPLICE = 343 -+ SYS_MOVE_PAGES = 344 -+ SYS_GETCPU = 345 -+ SYS_EPOLL_PWAIT = 346 -+ SYS_KEXEC_LOAD = 347 -+ SYS_UTIMENSAT = 348 -+ SYS_SIGNALFD = 349 -+ SYS_TIMERFD_CREATE = 350 -+ SYS_EVENTFD = 351 -+ SYS_FALLOCATE = 352 -+ SYS_TIMERFD_SETTIME = 353 -+ SYS_TIMERFD_GETTIME = 354 -+ SYS_SIGNALFD4 = 355 -+ SYS_EVENTFD2 = 356 -+ SYS_EPOLL_CREATE1 = 357 -+ SYS_DUP3 = 358 -+ SYS_PIPE2 = 359 -+ SYS_INOTIFY_INIT1 = 360 -+ SYS_PREADV = 361 -+ SYS_PWRITEV = 362 -+ SYS_RT_TGSIGQUEUEINFO = 363 -+ SYS_PERF_EVENT_OPEN = 364 -+ SYS_RECVMMSG = 365 -+ SYS_ACCEPT4 = 366 -+ SYS_FANOTIFY_INIT = 367 -+ SYS_FANOTIFY_MARK = 368 -+ SYS_PRLIMIT64 = 369 -+ SYS_NAME_TO_HANDLE_AT = 370 -+ SYS_OPEN_BY_HANDLE_AT = 371 -+ SYS_CLOCK_ADJTIME = 372 -+ SYS_SYNCFS = 373 -+ SYS_SENDMMSG = 374 -+ SYS_SETNS = 375 -+ SYS_PROCESS_VM_READV = 376 -+ SYS_PROCESS_VM_WRITEV = 377 -+ SYS_KCMP = 378 -+ SYS_FINIT_MODULE = 379 -+ SYS_SCHED_SETATTR = 380 -+ SYS_SCHED_GETATTR = 381 -+ SYS_RENAMEAT2 = 382 -+ SYS_SECCOMP = 383 -+ SYS_GETRANDOM = 384 -+ SYS_MEMFD_CREATE = 385 -+ SYS_BPF = 386 -+ SYS_EXECVEAT = 387 -+ SYS_USERFAULTFD = 388 -+ SYS_MEMBARRIER = 389 -+ SYS_MLOCK2 = 390 -+ SYS_COPY_FILE_RANGE = 391 -+ SYS_PREADV2 = 392 -+ SYS_PWRITEV2 = 393 -+ SYS_PKEY_MPROTECT = 394 -+ SYS_PKEY_ALLOC = 395 -+ SYS_PKEY_FREE = 396 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -new file mode 100644 -index 0000000..90e43d0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -@@ -0,0 +1,285 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm64,linux -+ -+package unix -+ -+const ( -+ SYS_IO_SETUP = 0 -+ SYS_IO_DESTROY = 1 -+ SYS_IO_SUBMIT = 2 -+ SYS_IO_CANCEL = 3 -+ SYS_IO_GETEVENTS = 4 -+ SYS_SETXATTR = 5 -+ SYS_LSETXATTR = 6 -+ SYS_FSETXATTR = 7 -+ SYS_GETXATTR = 8 -+ SYS_LGETXATTR = 9 -+ SYS_FGETXATTR = 10 -+ SYS_LISTXATTR = 11 -+ SYS_LLISTXATTR = 12 -+ SYS_FLISTXATTR = 13 -+ SYS_REMOVEXATTR = 14 -+ SYS_LREMOVEXATTR = 15 -+ SYS_FREMOVEXATTR = 16 -+ SYS_GETCWD = 17 -+ SYS_LOOKUP_DCOOKIE = 18 -+ SYS_EVENTFD2 = 19 -+ SYS_EPOLL_CREATE1 = 20 -+ SYS_EPOLL_CTL = 21 -+ SYS_EPOLL_PWAIT = 22 -+ SYS_DUP = 23 -+ SYS_DUP3 = 24 -+ SYS_FCNTL = 25 -+ SYS_INOTIFY_INIT1 = 26 -+ SYS_INOTIFY_ADD_WATCH = 27 -+ SYS_INOTIFY_RM_WATCH = 28 -+ SYS_IOCTL = 29 -+ SYS_IOPRIO_SET = 30 -+ SYS_IOPRIO_GET = 31 -+ SYS_FLOCK = 32 -+ SYS_MKNODAT = 33 -+ SYS_MKDIRAT = 34 -+ SYS_UNLINKAT = 35 -+ SYS_SYMLINKAT = 36 -+ SYS_LINKAT = 37 -+ SYS_RENAMEAT = 38 -+ SYS_UMOUNT2 = 39 -+ SYS_MOUNT = 40 -+ SYS_PIVOT_ROOT = 41 -+ SYS_NFSSERVCTL = 42 -+ SYS_STATFS = 43 -+ SYS_FSTATFS = 44 -+ SYS_TRUNCATE = 45 -+ SYS_FTRUNCATE = 46 -+ SYS_FALLOCATE = 47 -+ SYS_FACCESSAT = 48 -+ SYS_CHDIR = 49 -+ SYS_FCHDIR = 50 -+ SYS_CHROOT = 51 -+ SYS_FCHMOD = 52 -+ SYS_FCHMODAT = 53 -+ SYS_FCHOWNAT = 54 -+ SYS_FCHOWN = 55 -+ SYS_OPENAT = 56 -+ SYS_CLOSE = 57 -+ SYS_VHANGUP = 58 -+ SYS_PIPE2 = 59 -+ SYS_QUOTACTL = 60 -+ SYS_GETDENTS64 = 61 -+ SYS_LSEEK = 62 -+ SYS_READ = 63 -+ SYS_WRITE = 64 -+ SYS_READV = 65 -+ SYS_WRITEV = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_PREADV = 69 -+ SYS_PWRITEV = 70 -+ SYS_SENDFILE = 71 -+ SYS_PSELECT6 = 72 -+ SYS_PPOLL = 73 -+ SYS_SIGNALFD4 = 74 -+ SYS_VMSPLICE = 75 -+ SYS_SPLICE = 76 -+ SYS_TEE = 77 -+ SYS_READLINKAT = 78 -+ SYS_FSTATAT = 79 -+ SYS_FSTAT = 80 -+ SYS_SYNC = 81 -+ SYS_FSYNC = 82 -+ SYS_FDATASYNC = 83 -+ SYS_SYNC_FILE_RANGE = 84 -+ SYS_TIMERFD_CREATE = 85 -+ SYS_TIMERFD_SETTIME = 86 -+ SYS_TIMERFD_GETTIME = 87 -+ SYS_UTIMENSAT = 88 -+ SYS_ACCT = 89 -+ SYS_CAPGET = 90 -+ SYS_CAPSET = 91 -+ SYS_PERSONALITY = 92 -+ SYS_EXIT = 93 -+ SYS_EXIT_GROUP = 94 -+ SYS_WAITID = 95 -+ SYS_SET_TID_ADDRESS = 96 -+ SYS_UNSHARE = 97 -+ SYS_FUTEX = 98 -+ SYS_SET_ROBUST_LIST = 99 -+ SYS_GET_ROBUST_LIST = 100 -+ SYS_NANOSLEEP = 101 -+ SYS_GETITIMER = 102 -+ SYS_SETITIMER = 103 -+ SYS_KEXEC_LOAD = 104 -+ SYS_INIT_MODULE = 105 -+ SYS_DELETE_MODULE = 106 -+ SYS_TIMER_CREATE = 107 -+ SYS_TIMER_GETTIME = 108 -+ SYS_TIMER_GETOVERRUN = 109 -+ SYS_TIMER_SETTIME = 110 -+ SYS_TIMER_DELETE = 111 -+ SYS_CLOCK_SETTIME = 112 -+ SYS_CLOCK_GETTIME = 113 -+ SYS_CLOCK_GETRES = 114 -+ SYS_CLOCK_NANOSLEEP = 115 -+ SYS_SYSLOG = 116 -+ SYS_PTRACE = 117 -+ SYS_SCHED_SETPARAM = 118 -+ SYS_SCHED_SETSCHEDULER = 119 -+ SYS_SCHED_GETSCHEDULER = 120 -+ SYS_SCHED_GETPARAM = 121 -+ SYS_SCHED_SETAFFINITY = 122 -+ SYS_SCHED_GETAFFINITY = 123 -+ SYS_SCHED_YIELD = 124 -+ SYS_SCHED_GET_PRIORITY_MAX = 125 -+ SYS_SCHED_GET_PRIORITY_MIN = 126 -+ SYS_SCHED_RR_GET_INTERVAL = 127 -+ SYS_RESTART_SYSCALL = 128 -+ SYS_KILL = 129 -+ SYS_TKILL = 130 -+ SYS_TGKILL = 131 -+ SYS_SIGALTSTACK = 132 -+ SYS_RT_SIGSUSPEND = 133 -+ SYS_RT_SIGACTION = 134 -+ SYS_RT_SIGPROCMASK = 135 -+ SYS_RT_SIGPENDING = 136 -+ SYS_RT_SIGTIMEDWAIT = 137 -+ SYS_RT_SIGQUEUEINFO = 138 -+ SYS_RT_SIGRETURN = 139 -+ SYS_SETPRIORITY = 140 -+ SYS_GETPRIORITY = 141 -+ SYS_REBOOT = 142 -+ SYS_SETREGID = 143 -+ SYS_SETGID = 144 -+ SYS_SETREUID = 145 -+ SYS_SETUID = 146 -+ SYS_SETRESUID = 147 -+ SYS_GETRESUID = 148 -+ SYS_SETRESGID = 149 -+ SYS_GETRESGID = 150 -+ SYS_SETFSUID = 151 -+ SYS_SETFSGID = 152 -+ SYS_TIMES = 153 -+ SYS_SETPGID = 154 -+ SYS_GETPGID = 155 -+ SYS_GETSID = 156 -+ SYS_SETSID = 157 -+ SYS_GETGROUPS = 158 -+ SYS_SETGROUPS = 159 -+ SYS_UNAME = 160 -+ SYS_SETHOSTNAME = 161 -+ SYS_SETDOMAINNAME = 162 -+ SYS_GETRLIMIT = 163 -+ SYS_SETRLIMIT = 164 -+ SYS_GETRUSAGE = 165 -+ SYS_UMASK = 166 -+ SYS_PRCTL = 167 -+ SYS_GETCPU = 168 -+ SYS_GETTIMEOFDAY = 169 -+ SYS_SETTIMEOFDAY = 170 -+ SYS_ADJTIMEX = 171 -+ SYS_GETPID = 172 -+ SYS_GETPPID = 173 -+ SYS_GETUID = 174 -+ SYS_GETEUID = 175 -+ SYS_GETGID = 176 -+ SYS_GETEGID = 177 -+ SYS_GETTID = 178 -+ SYS_SYSINFO = 179 -+ SYS_MQ_OPEN = 180 -+ SYS_MQ_UNLINK = 181 -+ SYS_MQ_TIMEDSEND = 182 -+ SYS_MQ_TIMEDRECEIVE = 183 -+ SYS_MQ_NOTIFY = 184 -+ SYS_MQ_GETSETATTR = 185 -+ SYS_MSGGET = 186 -+ SYS_MSGCTL = 187 -+ SYS_MSGRCV = 188 -+ SYS_MSGSND = 189 -+ SYS_SEMGET = 190 -+ SYS_SEMCTL = 191 -+ SYS_SEMTIMEDOP = 192 -+ SYS_SEMOP = 193 -+ SYS_SHMGET = 194 -+ SYS_SHMCTL = 195 -+ SYS_SHMAT = 196 -+ SYS_SHMDT = 197 -+ SYS_SOCKET = 198 -+ SYS_SOCKETPAIR = 199 -+ SYS_BIND = 200 -+ SYS_LISTEN = 201 -+ SYS_ACCEPT = 202 -+ SYS_CONNECT = 203 -+ SYS_GETSOCKNAME = 204 -+ SYS_GETPEERNAME = 205 -+ SYS_SENDTO = 206 -+ SYS_RECVFROM = 207 -+ SYS_SETSOCKOPT = 208 -+ SYS_GETSOCKOPT = 209 -+ SYS_SHUTDOWN = 210 -+ SYS_SENDMSG = 211 -+ SYS_RECVMSG = 212 -+ SYS_READAHEAD = 213 -+ SYS_BRK = 214 -+ SYS_MUNMAP = 215 -+ SYS_MREMAP = 216 -+ SYS_ADD_KEY = 217 -+ SYS_REQUEST_KEY = 218 -+ SYS_KEYCTL = 219 -+ SYS_CLONE = 220 -+ SYS_EXECVE = 221 -+ SYS_MMAP = 222 -+ SYS_FADVISE64 = 223 -+ SYS_SWAPON = 224 -+ SYS_SWAPOFF = 225 -+ SYS_MPROTECT = 226 -+ SYS_MSYNC = 227 -+ SYS_MLOCK = 228 -+ SYS_MUNLOCK = 229 -+ SYS_MLOCKALL = 230 -+ SYS_MUNLOCKALL = 231 -+ SYS_MINCORE = 232 -+ SYS_MADVISE = 233 -+ SYS_REMAP_FILE_PAGES = 234 -+ SYS_MBIND = 235 -+ SYS_GET_MEMPOLICY = 236 -+ SYS_SET_MEMPOLICY = 237 -+ SYS_MIGRATE_PAGES = 238 -+ SYS_MOVE_PAGES = 239 -+ SYS_RT_TGSIGQUEUEINFO = 240 -+ SYS_PERF_EVENT_OPEN = 241 -+ SYS_ACCEPT4 = 242 -+ SYS_RECVMMSG = 243 -+ SYS_ARCH_SPECIFIC_SYSCALL = 244 -+ SYS_WAIT4 = 260 -+ SYS_PRLIMIT64 = 261 -+ SYS_FANOTIFY_INIT = 262 -+ SYS_FANOTIFY_MARK = 263 -+ SYS_NAME_TO_HANDLE_AT = 264 -+ SYS_OPEN_BY_HANDLE_AT = 265 -+ SYS_CLOCK_ADJTIME = 266 -+ SYS_SYNCFS = 267 -+ SYS_SETNS = 268 -+ SYS_SENDMMSG = 269 -+ SYS_PROCESS_VM_READV = 270 -+ SYS_PROCESS_VM_WRITEV = 271 -+ SYS_KCMP = 272 -+ SYS_FINIT_MODULE = 273 -+ SYS_SCHED_SETATTR = 274 -+ SYS_SCHED_GETATTR = 275 -+ SYS_RENAMEAT2 = 276 -+ SYS_SECCOMP = 277 -+ SYS_GETRANDOM = 278 -+ SYS_MEMFD_CREATE = 279 -+ SYS_BPF = 280 -+ SYS_EXECVEAT = 281 -+ SYS_USERFAULTFD = 282 -+ SYS_MEMBARRIER = 283 -+ SYS_MLOCK2 = 284 -+ SYS_COPY_FILE_RANGE = 285 -+ SYS_PREADV2 = 286 -+ SYS_PWRITEV2 = 287 -+ SYS_PKEY_MPROTECT = 288 -+ SYS_PKEY_ALLOC = 289 -+ SYS_PKEY_FREE = 290 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -new file mode 100644 -index 0000000..77ff644 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -@@ -0,0 +1,374 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEB__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips,linux -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 4000 -+ SYS_EXIT = 4001 -+ SYS_FORK = 4002 -+ SYS_READ = 4003 -+ SYS_WRITE = 4004 -+ SYS_OPEN = 4005 -+ SYS_CLOSE = 4006 -+ SYS_WAITPID = 4007 -+ SYS_CREAT = 4008 -+ SYS_LINK = 4009 -+ SYS_UNLINK = 4010 -+ SYS_EXECVE = 4011 -+ SYS_CHDIR = 4012 -+ SYS_TIME = 4013 -+ SYS_MKNOD = 4014 -+ SYS_CHMOD = 4015 -+ SYS_LCHOWN = 4016 -+ SYS_BREAK = 4017 -+ SYS_UNUSED18 = 4018 -+ SYS_LSEEK = 4019 -+ SYS_GETPID = 4020 -+ SYS_MOUNT = 4021 -+ SYS_UMOUNT = 4022 -+ SYS_SETUID = 4023 -+ SYS_GETUID = 4024 -+ SYS_STIME = 4025 -+ SYS_PTRACE = 4026 -+ SYS_ALARM = 4027 -+ SYS_UNUSED28 = 4028 -+ SYS_PAUSE = 4029 -+ SYS_UTIME = 4030 -+ SYS_STTY = 4031 -+ SYS_GTTY = 4032 -+ SYS_ACCESS = 4033 -+ SYS_NICE = 4034 -+ SYS_FTIME = 4035 -+ SYS_SYNC = 4036 -+ SYS_KILL = 4037 -+ SYS_RENAME = 4038 -+ SYS_MKDIR = 4039 -+ SYS_RMDIR = 4040 -+ SYS_DUP = 4041 -+ SYS_PIPE = 4042 -+ SYS_TIMES = 4043 -+ SYS_PROF = 4044 -+ SYS_BRK = 4045 -+ SYS_SETGID = 4046 -+ SYS_GETGID = 4047 -+ SYS_SIGNAL = 4048 -+ SYS_GETEUID = 4049 -+ SYS_GETEGID = 4050 -+ SYS_ACCT = 4051 -+ SYS_UMOUNT2 = 4052 -+ SYS_LOCK = 4053 -+ SYS_IOCTL = 4054 -+ SYS_FCNTL = 4055 -+ SYS_MPX = 4056 -+ SYS_SETPGID = 4057 -+ SYS_ULIMIT = 4058 -+ SYS_UNUSED59 = 4059 -+ SYS_UMASK = 4060 -+ SYS_CHROOT = 4061 -+ SYS_USTAT = 4062 -+ SYS_DUP2 = 4063 -+ SYS_GETPPID = 4064 -+ SYS_GETPGRP = 4065 -+ SYS_SETSID = 4066 -+ SYS_SIGACTION = 4067 -+ SYS_SGETMASK = 4068 -+ SYS_SSETMASK = 4069 -+ SYS_SETREUID = 4070 -+ SYS_SETREGID = 4071 -+ SYS_SIGSUSPEND = 4072 -+ SYS_SIGPENDING = 4073 -+ SYS_SETHOSTNAME = 4074 -+ SYS_SETRLIMIT = 4075 -+ SYS_GETRLIMIT = 4076 -+ SYS_GETRUSAGE = 4077 -+ SYS_GETTIMEOFDAY = 4078 -+ SYS_SETTIMEOFDAY = 4079 -+ SYS_GETGROUPS = 4080 -+ SYS_SETGROUPS = 4081 -+ SYS_RESERVED82 = 4082 -+ SYS_SYMLINK = 4083 -+ SYS_UNUSED84 = 4084 -+ SYS_READLINK = 4085 -+ SYS_USELIB = 4086 -+ SYS_SWAPON = 4087 -+ SYS_REBOOT = 4088 -+ SYS_READDIR = 4089 -+ SYS_MMAP = 4090 -+ SYS_MUNMAP = 4091 -+ SYS_TRUNCATE = 4092 -+ SYS_FTRUNCATE = 4093 -+ SYS_FCHMOD = 4094 -+ SYS_FCHOWN = 4095 -+ SYS_GETPRIORITY = 4096 -+ SYS_SETPRIORITY = 4097 -+ SYS_PROFIL = 4098 -+ SYS_STATFS = 4099 -+ SYS_FSTATFS = 4100 -+ SYS_IOPERM = 4101 -+ SYS_SOCKETCALL = 4102 -+ SYS_SYSLOG = 4103 -+ SYS_SETITIMER = 4104 -+ SYS_GETITIMER = 4105 -+ SYS_STAT = 4106 -+ SYS_LSTAT = 4107 -+ SYS_FSTAT = 4108 -+ SYS_UNUSED109 = 4109 -+ SYS_IOPL = 4110 -+ SYS_VHANGUP = 4111 -+ SYS_IDLE = 4112 -+ SYS_VM86 = 4113 -+ SYS_WAIT4 = 4114 -+ SYS_SWAPOFF = 4115 -+ SYS_SYSINFO = 4116 -+ SYS_IPC = 4117 -+ SYS_FSYNC = 4118 -+ SYS_SIGRETURN = 4119 -+ SYS_CLONE = 4120 -+ SYS_SETDOMAINNAME = 4121 -+ SYS_UNAME = 4122 -+ SYS_MODIFY_LDT = 4123 -+ SYS_ADJTIMEX = 4124 -+ SYS_MPROTECT = 4125 -+ SYS_SIGPROCMASK = 4126 -+ SYS_CREATE_MODULE = 4127 -+ SYS_INIT_MODULE = 4128 -+ SYS_DELETE_MODULE = 4129 -+ SYS_GET_KERNEL_SYMS = 4130 -+ SYS_QUOTACTL = 4131 -+ SYS_GETPGID = 4132 -+ SYS_FCHDIR = 4133 -+ SYS_BDFLUSH = 4134 -+ SYS_SYSFS = 4135 -+ SYS_PERSONALITY = 4136 -+ SYS_AFS_SYSCALL = 4137 -+ SYS_SETFSUID = 4138 -+ SYS_SETFSGID = 4139 -+ SYS__LLSEEK = 4140 -+ SYS_GETDENTS = 4141 -+ SYS__NEWSELECT = 4142 -+ SYS_FLOCK = 4143 -+ SYS_MSYNC = 4144 -+ SYS_READV = 4145 -+ SYS_WRITEV = 4146 -+ SYS_CACHEFLUSH = 4147 -+ SYS_CACHECTL = 4148 -+ SYS_SYSMIPS = 4149 -+ SYS_UNUSED150 = 4150 -+ SYS_GETSID = 4151 -+ SYS_FDATASYNC = 4152 -+ SYS__SYSCTL = 4153 -+ SYS_MLOCK = 4154 -+ SYS_MUNLOCK = 4155 -+ SYS_MLOCKALL = 4156 -+ SYS_MUNLOCKALL = 4157 -+ SYS_SCHED_SETPARAM = 4158 -+ SYS_SCHED_GETPARAM = 4159 -+ SYS_SCHED_SETSCHEDULER = 4160 -+ SYS_SCHED_GETSCHEDULER = 4161 -+ SYS_SCHED_YIELD = 4162 -+ SYS_SCHED_GET_PRIORITY_MAX = 4163 -+ SYS_SCHED_GET_PRIORITY_MIN = 4164 -+ SYS_SCHED_RR_GET_INTERVAL = 4165 -+ SYS_NANOSLEEP = 4166 -+ SYS_MREMAP = 4167 -+ SYS_ACCEPT = 4168 -+ SYS_BIND = 4169 -+ SYS_CONNECT = 4170 -+ SYS_GETPEERNAME = 4171 -+ SYS_GETSOCKNAME = 4172 -+ SYS_GETSOCKOPT = 4173 -+ SYS_LISTEN = 4174 -+ SYS_RECV = 4175 -+ SYS_RECVFROM = 4176 -+ SYS_RECVMSG = 4177 -+ SYS_SEND = 4178 -+ SYS_SENDMSG = 4179 -+ SYS_SENDTO = 4180 -+ SYS_SETSOCKOPT = 4181 -+ SYS_SHUTDOWN = 4182 -+ SYS_SOCKET = 4183 -+ SYS_SOCKETPAIR = 4184 -+ SYS_SETRESUID = 4185 -+ SYS_GETRESUID = 4186 -+ SYS_QUERY_MODULE = 4187 -+ SYS_POLL = 4188 -+ SYS_NFSSERVCTL = 4189 -+ SYS_SETRESGID = 4190 -+ SYS_GETRESGID = 4191 -+ SYS_PRCTL = 4192 -+ SYS_RT_SIGRETURN = 4193 -+ SYS_RT_SIGACTION = 4194 -+ SYS_RT_SIGPROCMASK = 4195 -+ SYS_RT_SIGPENDING = 4196 -+ SYS_RT_SIGTIMEDWAIT = 4197 -+ SYS_RT_SIGQUEUEINFO = 4198 -+ SYS_RT_SIGSUSPEND = 4199 -+ SYS_PREAD64 = 4200 -+ SYS_PWRITE64 = 4201 -+ SYS_CHOWN = 4202 -+ SYS_GETCWD = 4203 -+ SYS_CAPGET = 4204 -+ SYS_CAPSET = 4205 -+ SYS_SIGALTSTACK = 4206 -+ SYS_SENDFILE = 4207 -+ SYS_GETPMSG = 4208 -+ SYS_PUTPMSG = 4209 -+ SYS_MMAP2 = 4210 -+ SYS_TRUNCATE64 = 4211 -+ SYS_FTRUNCATE64 = 4212 -+ SYS_STAT64 = 4213 -+ SYS_LSTAT64 = 4214 -+ SYS_FSTAT64 = 4215 -+ SYS_PIVOT_ROOT = 4216 -+ SYS_MINCORE = 4217 -+ SYS_MADVISE = 4218 -+ SYS_GETDENTS64 = 4219 -+ SYS_FCNTL64 = 4220 -+ SYS_RESERVED221 = 4221 -+ SYS_GETTID = 4222 -+ SYS_READAHEAD = 4223 -+ SYS_SETXATTR = 4224 -+ SYS_LSETXATTR = 4225 -+ SYS_FSETXATTR = 4226 -+ SYS_GETXATTR = 4227 -+ SYS_LGETXATTR = 4228 -+ SYS_FGETXATTR = 4229 -+ SYS_LISTXATTR = 4230 -+ SYS_LLISTXATTR = 4231 -+ SYS_FLISTXATTR = 4232 -+ SYS_REMOVEXATTR = 4233 -+ SYS_LREMOVEXATTR = 4234 -+ SYS_FREMOVEXATTR = 4235 -+ SYS_TKILL = 4236 -+ SYS_SENDFILE64 = 4237 -+ SYS_FUTEX = 4238 -+ SYS_SCHED_SETAFFINITY = 4239 -+ SYS_SCHED_GETAFFINITY = 4240 -+ SYS_IO_SETUP = 4241 -+ SYS_IO_DESTROY = 4242 -+ SYS_IO_GETEVENTS = 4243 -+ SYS_IO_SUBMIT = 4244 -+ SYS_IO_CANCEL = 4245 -+ SYS_EXIT_GROUP = 4246 -+ SYS_LOOKUP_DCOOKIE = 4247 -+ SYS_EPOLL_CREATE = 4248 -+ SYS_EPOLL_CTL = 4249 -+ SYS_EPOLL_WAIT = 4250 -+ SYS_REMAP_FILE_PAGES = 4251 -+ SYS_SET_TID_ADDRESS = 4252 -+ SYS_RESTART_SYSCALL = 4253 -+ SYS_FADVISE64 = 4254 -+ SYS_STATFS64 = 4255 -+ SYS_FSTATFS64 = 4256 -+ SYS_TIMER_CREATE = 4257 -+ SYS_TIMER_SETTIME = 4258 -+ SYS_TIMER_GETTIME = 4259 -+ SYS_TIMER_GETOVERRUN = 4260 -+ SYS_TIMER_DELETE = 4261 -+ SYS_CLOCK_SETTIME = 4262 -+ SYS_CLOCK_GETTIME = 4263 -+ SYS_CLOCK_GETRES = 4264 -+ SYS_CLOCK_NANOSLEEP = 4265 -+ SYS_TGKILL = 4266 -+ SYS_UTIMES = 4267 -+ SYS_MBIND = 4268 -+ SYS_GET_MEMPOLICY = 4269 -+ SYS_SET_MEMPOLICY = 4270 -+ SYS_MQ_OPEN = 4271 -+ SYS_MQ_UNLINK = 4272 -+ SYS_MQ_TIMEDSEND = 4273 -+ SYS_MQ_TIMEDRECEIVE = 4274 -+ SYS_MQ_NOTIFY = 4275 -+ SYS_MQ_GETSETATTR = 4276 -+ SYS_VSERVER = 4277 -+ SYS_WAITID = 4278 -+ SYS_ADD_KEY = 4280 -+ SYS_REQUEST_KEY = 4281 -+ SYS_KEYCTL = 4282 -+ SYS_SET_THREAD_AREA = 4283 -+ SYS_INOTIFY_INIT = 4284 -+ SYS_INOTIFY_ADD_WATCH = 4285 -+ SYS_INOTIFY_RM_WATCH = 4286 -+ SYS_MIGRATE_PAGES = 4287 -+ SYS_OPENAT = 4288 -+ SYS_MKDIRAT = 4289 -+ SYS_MKNODAT = 4290 -+ SYS_FCHOWNAT = 4291 -+ SYS_FUTIMESAT = 4292 -+ SYS_FSTATAT64 = 4293 -+ SYS_UNLINKAT = 4294 -+ SYS_RENAMEAT = 4295 -+ SYS_LINKAT = 4296 -+ SYS_SYMLINKAT = 4297 -+ SYS_READLINKAT = 4298 -+ SYS_FCHMODAT = 4299 -+ SYS_FACCESSAT = 4300 -+ SYS_PSELECT6 = 4301 -+ SYS_PPOLL = 4302 -+ SYS_UNSHARE = 4303 -+ SYS_SPLICE = 4304 -+ SYS_SYNC_FILE_RANGE = 4305 -+ SYS_TEE = 4306 -+ SYS_VMSPLICE = 4307 -+ SYS_MOVE_PAGES = 4308 -+ SYS_SET_ROBUST_LIST = 4309 -+ SYS_GET_ROBUST_LIST = 4310 -+ SYS_KEXEC_LOAD = 4311 -+ SYS_GETCPU = 4312 -+ SYS_EPOLL_PWAIT = 4313 -+ SYS_IOPRIO_SET = 4314 -+ SYS_IOPRIO_GET = 4315 -+ SYS_UTIMENSAT = 4316 -+ SYS_SIGNALFD = 4317 -+ SYS_TIMERFD = 4318 -+ SYS_EVENTFD = 4319 -+ SYS_FALLOCATE = 4320 -+ SYS_TIMERFD_CREATE = 4321 -+ SYS_TIMERFD_GETTIME = 4322 -+ SYS_TIMERFD_SETTIME = 4323 -+ SYS_SIGNALFD4 = 4324 -+ SYS_EVENTFD2 = 4325 -+ SYS_EPOLL_CREATE1 = 4326 -+ SYS_DUP3 = 4327 -+ SYS_PIPE2 = 4328 -+ SYS_INOTIFY_INIT1 = 4329 -+ SYS_PREADV = 4330 -+ SYS_PWRITEV = 4331 -+ SYS_RT_TGSIGQUEUEINFO = 4332 -+ SYS_PERF_EVENT_OPEN = 4333 -+ SYS_ACCEPT4 = 4334 -+ SYS_RECVMMSG = 4335 -+ SYS_FANOTIFY_INIT = 4336 -+ SYS_FANOTIFY_MARK = 4337 -+ SYS_PRLIMIT64 = 4338 -+ SYS_NAME_TO_HANDLE_AT = 4339 -+ SYS_OPEN_BY_HANDLE_AT = 4340 -+ SYS_CLOCK_ADJTIME = 4341 -+ SYS_SYNCFS = 4342 -+ SYS_SENDMMSG = 4343 -+ SYS_SETNS = 4344 -+ SYS_PROCESS_VM_READV = 4345 -+ SYS_PROCESS_VM_WRITEV = 4346 -+ SYS_KCMP = 4347 -+ SYS_FINIT_MODULE = 4348 -+ SYS_SCHED_SETATTR = 4349 -+ SYS_SCHED_GETATTR = 4350 -+ SYS_RENAMEAT2 = 4351 -+ SYS_SECCOMP = 4352 -+ SYS_GETRANDOM = 4353 -+ SYS_MEMFD_CREATE = 4354 -+ SYS_BPF = 4355 -+ SYS_EXECVEAT = 4356 -+ SYS_USERFAULTFD = 4357 -+ SYS_MEMBARRIER = 4358 -+ SYS_MLOCK2 = 4359 -+ SYS_COPY_FILE_RANGE = 4360 -+ SYS_PREADV2 = 4361 -+ SYS_PWRITEV2 = 4362 -+ SYS_PKEY_MPROTECT = 4363 -+ SYS_PKEY_ALLOC = 4364 -+ SYS_PKEY_FREE = 4365 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -new file mode 100644 -index 0000000..fc86fcd ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -@@ -0,0 +1,334 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEB__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips64,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 5000 -+ SYS_WRITE = 5001 -+ SYS_OPEN = 5002 -+ SYS_CLOSE = 5003 -+ SYS_STAT = 5004 -+ SYS_FSTAT = 5005 -+ SYS_LSTAT = 5006 -+ SYS_POLL = 5007 -+ SYS_LSEEK = 5008 -+ SYS_MMAP = 5009 -+ SYS_MPROTECT = 5010 -+ SYS_MUNMAP = 5011 -+ SYS_BRK = 5012 -+ SYS_RT_SIGACTION = 5013 -+ SYS_RT_SIGPROCMASK = 5014 -+ SYS_IOCTL = 5015 -+ SYS_PREAD64 = 5016 -+ SYS_PWRITE64 = 5017 -+ SYS_READV = 5018 -+ SYS_WRITEV = 5019 -+ SYS_ACCESS = 5020 -+ SYS_PIPE = 5021 -+ SYS__NEWSELECT = 5022 -+ SYS_SCHED_YIELD = 5023 -+ SYS_MREMAP = 5024 -+ SYS_MSYNC = 5025 -+ SYS_MINCORE = 5026 -+ SYS_MADVISE = 5027 -+ SYS_SHMGET = 5028 -+ SYS_SHMAT = 5029 -+ SYS_SHMCTL = 5030 -+ SYS_DUP = 5031 -+ SYS_DUP2 = 5032 -+ SYS_PAUSE = 5033 -+ SYS_NANOSLEEP = 5034 -+ SYS_GETITIMER = 5035 -+ SYS_SETITIMER = 5036 -+ SYS_ALARM = 5037 -+ SYS_GETPID = 5038 -+ SYS_SENDFILE = 5039 -+ SYS_SOCKET = 5040 -+ SYS_CONNECT = 5041 -+ SYS_ACCEPT = 5042 -+ SYS_SENDTO = 5043 -+ SYS_RECVFROM = 5044 -+ SYS_SENDMSG = 5045 -+ SYS_RECVMSG = 5046 -+ SYS_SHUTDOWN = 5047 -+ SYS_BIND = 5048 -+ SYS_LISTEN = 5049 -+ SYS_GETSOCKNAME = 5050 -+ SYS_GETPEERNAME = 5051 -+ SYS_SOCKETPAIR = 5052 -+ SYS_SETSOCKOPT = 5053 -+ SYS_GETSOCKOPT = 5054 -+ SYS_CLONE = 5055 -+ SYS_FORK = 5056 -+ SYS_EXECVE = 5057 -+ SYS_EXIT = 5058 -+ SYS_WAIT4 = 5059 -+ SYS_KILL = 5060 -+ SYS_UNAME = 5061 -+ SYS_SEMGET = 5062 -+ SYS_SEMOP = 5063 -+ SYS_SEMCTL = 5064 -+ SYS_SHMDT = 5065 -+ SYS_MSGGET = 5066 -+ SYS_MSGSND = 5067 -+ SYS_MSGRCV = 5068 -+ SYS_MSGCTL = 5069 -+ SYS_FCNTL = 5070 -+ SYS_FLOCK = 5071 -+ SYS_FSYNC = 5072 -+ SYS_FDATASYNC = 5073 -+ SYS_TRUNCATE = 5074 -+ SYS_FTRUNCATE = 5075 -+ SYS_GETDENTS = 5076 -+ SYS_GETCWD = 5077 -+ SYS_CHDIR = 5078 -+ SYS_FCHDIR = 5079 -+ SYS_RENAME = 5080 -+ SYS_MKDIR = 5081 -+ SYS_RMDIR = 5082 -+ SYS_CREAT = 5083 -+ SYS_LINK = 5084 -+ SYS_UNLINK = 5085 -+ SYS_SYMLINK = 5086 -+ SYS_READLINK = 5087 -+ SYS_CHMOD = 5088 -+ SYS_FCHMOD = 5089 -+ SYS_CHOWN = 5090 -+ SYS_FCHOWN = 5091 -+ SYS_LCHOWN = 5092 -+ SYS_UMASK = 5093 -+ SYS_GETTIMEOFDAY = 5094 -+ SYS_GETRLIMIT = 5095 -+ SYS_GETRUSAGE = 5096 -+ SYS_SYSINFO = 5097 -+ SYS_TIMES = 5098 -+ SYS_PTRACE = 5099 -+ SYS_GETUID = 5100 -+ SYS_SYSLOG = 5101 -+ SYS_GETGID = 5102 -+ SYS_SETUID = 5103 -+ SYS_SETGID = 5104 -+ SYS_GETEUID = 5105 -+ SYS_GETEGID = 5106 -+ SYS_SETPGID = 5107 -+ SYS_GETPPID = 5108 -+ SYS_GETPGRP = 5109 -+ SYS_SETSID = 5110 -+ SYS_SETREUID = 5111 -+ SYS_SETREGID = 5112 -+ SYS_GETGROUPS = 5113 -+ SYS_SETGROUPS = 5114 -+ SYS_SETRESUID = 5115 -+ SYS_GETRESUID = 5116 -+ SYS_SETRESGID = 5117 -+ SYS_GETRESGID = 5118 -+ SYS_GETPGID = 5119 -+ SYS_SETFSUID = 5120 -+ SYS_SETFSGID = 5121 -+ SYS_GETSID = 5122 -+ SYS_CAPGET = 5123 -+ SYS_CAPSET = 5124 -+ SYS_RT_SIGPENDING = 5125 -+ SYS_RT_SIGTIMEDWAIT = 5126 -+ SYS_RT_SIGQUEUEINFO = 5127 -+ SYS_RT_SIGSUSPEND = 5128 -+ SYS_SIGALTSTACK = 5129 -+ SYS_UTIME = 5130 -+ SYS_MKNOD = 5131 -+ SYS_PERSONALITY = 5132 -+ SYS_USTAT = 5133 -+ SYS_STATFS = 5134 -+ SYS_FSTATFS = 5135 -+ SYS_SYSFS = 5136 -+ SYS_GETPRIORITY = 5137 -+ SYS_SETPRIORITY = 5138 -+ SYS_SCHED_SETPARAM = 5139 -+ SYS_SCHED_GETPARAM = 5140 -+ SYS_SCHED_SETSCHEDULER = 5141 -+ SYS_SCHED_GETSCHEDULER = 5142 -+ SYS_SCHED_GET_PRIORITY_MAX = 5143 -+ SYS_SCHED_GET_PRIORITY_MIN = 5144 -+ SYS_SCHED_RR_GET_INTERVAL = 5145 -+ SYS_MLOCK = 5146 -+ SYS_MUNLOCK = 5147 -+ SYS_MLOCKALL = 5148 -+ SYS_MUNLOCKALL = 5149 -+ SYS_VHANGUP = 5150 -+ SYS_PIVOT_ROOT = 5151 -+ SYS__SYSCTL = 5152 -+ SYS_PRCTL = 5153 -+ SYS_ADJTIMEX = 5154 -+ SYS_SETRLIMIT = 5155 -+ SYS_CHROOT = 5156 -+ SYS_SYNC = 5157 -+ SYS_ACCT = 5158 -+ SYS_SETTIMEOFDAY = 5159 -+ SYS_MOUNT = 5160 -+ SYS_UMOUNT2 = 5161 -+ SYS_SWAPON = 5162 -+ SYS_SWAPOFF = 5163 -+ SYS_REBOOT = 5164 -+ SYS_SETHOSTNAME = 5165 -+ SYS_SETDOMAINNAME = 5166 -+ SYS_CREATE_MODULE = 5167 -+ SYS_INIT_MODULE = 5168 -+ SYS_DELETE_MODULE = 5169 -+ SYS_GET_KERNEL_SYMS = 5170 -+ SYS_QUERY_MODULE = 5171 -+ SYS_QUOTACTL = 5172 -+ SYS_NFSSERVCTL = 5173 -+ SYS_GETPMSG = 5174 -+ SYS_PUTPMSG = 5175 -+ SYS_AFS_SYSCALL = 5176 -+ SYS_RESERVED177 = 5177 -+ SYS_GETTID = 5178 -+ SYS_READAHEAD = 5179 -+ SYS_SETXATTR = 5180 -+ SYS_LSETXATTR = 5181 -+ SYS_FSETXATTR = 5182 -+ SYS_GETXATTR = 5183 -+ SYS_LGETXATTR = 5184 -+ SYS_FGETXATTR = 5185 -+ SYS_LISTXATTR = 5186 -+ SYS_LLISTXATTR = 5187 -+ SYS_FLISTXATTR = 5188 -+ SYS_REMOVEXATTR = 5189 -+ SYS_LREMOVEXATTR = 5190 -+ SYS_FREMOVEXATTR = 5191 -+ SYS_TKILL = 5192 -+ SYS_RESERVED193 = 5193 -+ SYS_FUTEX = 5194 -+ SYS_SCHED_SETAFFINITY = 5195 -+ SYS_SCHED_GETAFFINITY = 5196 -+ SYS_CACHEFLUSH = 5197 -+ SYS_CACHECTL = 5198 -+ SYS_SYSMIPS = 5199 -+ SYS_IO_SETUP = 5200 -+ SYS_IO_DESTROY = 5201 -+ SYS_IO_GETEVENTS = 5202 -+ SYS_IO_SUBMIT = 5203 -+ SYS_IO_CANCEL = 5204 -+ SYS_EXIT_GROUP = 5205 -+ SYS_LOOKUP_DCOOKIE = 5206 -+ SYS_EPOLL_CREATE = 5207 -+ SYS_EPOLL_CTL = 5208 -+ SYS_EPOLL_WAIT = 5209 -+ SYS_REMAP_FILE_PAGES = 5210 -+ SYS_RT_SIGRETURN = 5211 -+ SYS_SET_TID_ADDRESS = 5212 -+ SYS_RESTART_SYSCALL = 5213 -+ SYS_SEMTIMEDOP = 5214 -+ SYS_FADVISE64 = 5215 -+ SYS_TIMER_CREATE = 5216 -+ SYS_TIMER_SETTIME = 5217 -+ SYS_TIMER_GETTIME = 5218 -+ SYS_TIMER_GETOVERRUN = 5219 -+ SYS_TIMER_DELETE = 5220 -+ SYS_CLOCK_SETTIME = 5221 -+ SYS_CLOCK_GETTIME = 5222 -+ SYS_CLOCK_GETRES = 5223 -+ SYS_CLOCK_NANOSLEEP = 5224 -+ SYS_TGKILL = 5225 -+ SYS_UTIMES = 5226 -+ SYS_MBIND = 5227 -+ SYS_GET_MEMPOLICY = 5228 -+ SYS_SET_MEMPOLICY = 5229 -+ SYS_MQ_OPEN = 5230 -+ SYS_MQ_UNLINK = 5231 -+ SYS_MQ_TIMEDSEND = 5232 -+ SYS_MQ_TIMEDRECEIVE = 5233 -+ SYS_MQ_NOTIFY = 5234 -+ SYS_MQ_GETSETATTR = 5235 -+ SYS_VSERVER = 5236 -+ SYS_WAITID = 5237 -+ SYS_ADD_KEY = 5239 -+ SYS_REQUEST_KEY = 5240 -+ SYS_KEYCTL = 5241 -+ SYS_SET_THREAD_AREA = 5242 -+ SYS_INOTIFY_INIT = 5243 -+ SYS_INOTIFY_ADD_WATCH = 5244 -+ SYS_INOTIFY_RM_WATCH = 5245 -+ SYS_MIGRATE_PAGES = 5246 -+ SYS_OPENAT = 5247 -+ SYS_MKDIRAT = 5248 -+ SYS_MKNODAT = 5249 -+ SYS_FCHOWNAT = 5250 -+ SYS_FUTIMESAT = 5251 -+ SYS_NEWFSTATAT = 5252 -+ SYS_UNLINKAT = 5253 -+ SYS_RENAMEAT = 5254 -+ SYS_LINKAT = 5255 -+ SYS_SYMLINKAT = 5256 -+ SYS_READLINKAT = 5257 -+ SYS_FCHMODAT = 5258 -+ SYS_FACCESSAT = 5259 -+ SYS_PSELECT6 = 5260 -+ SYS_PPOLL = 5261 -+ SYS_UNSHARE = 5262 -+ SYS_SPLICE = 5263 -+ SYS_SYNC_FILE_RANGE = 5264 -+ SYS_TEE = 5265 -+ SYS_VMSPLICE = 5266 -+ SYS_MOVE_PAGES = 5267 -+ SYS_SET_ROBUST_LIST = 5268 -+ SYS_GET_ROBUST_LIST = 5269 -+ SYS_KEXEC_LOAD = 5270 -+ SYS_GETCPU = 5271 -+ SYS_EPOLL_PWAIT = 5272 -+ SYS_IOPRIO_SET = 5273 -+ SYS_IOPRIO_GET = 5274 -+ SYS_UTIMENSAT = 5275 -+ SYS_SIGNALFD = 5276 -+ SYS_TIMERFD = 5277 -+ SYS_EVENTFD = 5278 -+ SYS_FALLOCATE = 5279 -+ SYS_TIMERFD_CREATE = 5280 -+ SYS_TIMERFD_GETTIME = 5281 -+ SYS_TIMERFD_SETTIME = 5282 -+ SYS_SIGNALFD4 = 5283 -+ SYS_EVENTFD2 = 5284 -+ SYS_EPOLL_CREATE1 = 5285 -+ SYS_DUP3 = 5286 -+ SYS_PIPE2 = 5287 -+ SYS_INOTIFY_INIT1 = 5288 -+ SYS_PREADV = 5289 -+ SYS_PWRITEV = 5290 -+ SYS_RT_TGSIGQUEUEINFO = 5291 -+ SYS_PERF_EVENT_OPEN = 5292 -+ SYS_ACCEPT4 = 5293 -+ SYS_RECVMMSG = 5294 -+ SYS_FANOTIFY_INIT = 5295 -+ SYS_FANOTIFY_MARK = 5296 -+ SYS_PRLIMIT64 = 5297 -+ SYS_NAME_TO_HANDLE_AT = 5298 -+ SYS_OPEN_BY_HANDLE_AT = 5299 -+ SYS_CLOCK_ADJTIME = 5300 -+ SYS_SYNCFS = 5301 -+ SYS_SENDMMSG = 5302 -+ SYS_SETNS = 5303 -+ SYS_PROCESS_VM_READV = 5304 -+ SYS_PROCESS_VM_WRITEV = 5305 -+ SYS_KCMP = 5306 -+ SYS_FINIT_MODULE = 5307 -+ SYS_GETDENTS64 = 5308 -+ SYS_SCHED_SETATTR = 5309 -+ SYS_SCHED_GETATTR = 5310 -+ SYS_RENAMEAT2 = 5311 -+ SYS_SECCOMP = 5312 -+ SYS_GETRANDOM = 5313 -+ SYS_MEMFD_CREATE = 5314 -+ SYS_BPF = 5315 -+ SYS_EXECVEAT = 5316 -+ SYS_USERFAULTFD = 5317 -+ SYS_MEMBARRIER = 5318 -+ SYS_MLOCK2 = 5319 -+ SYS_COPY_FILE_RANGE = 5320 -+ SYS_PREADV2 = 5321 -+ SYS_PWRITEV2 = 5322 -+ SYS_PKEY_MPROTECT = 5323 -+ SYS_PKEY_ALLOC = 5324 -+ SYS_PKEY_FREE = 5325 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -new file mode 100644 -index 0000000..993873c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -@@ -0,0 +1,334 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEL__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips64le,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 5000 -+ SYS_WRITE = 5001 -+ SYS_OPEN = 5002 -+ SYS_CLOSE = 5003 -+ SYS_STAT = 5004 -+ SYS_FSTAT = 5005 -+ SYS_LSTAT = 5006 -+ SYS_POLL = 5007 -+ SYS_LSEEK = 5008 -+ SYS_MMAP = 5009 -+ SYS_MPROTECT = 5010 -+ SYS_MUNMAP = 5011 -+ SYS_BRK = 5012 -+ SYS_RT_SIGACTION = 5013 -+ SYS_RT_SIGPROCMASK = 5014 -+ SYS_IOCTL = 5015 -+ SYS_PREAD64 = 5016 -+ SYS_PWRITE64 = 5017 -+ SYS_READV = 5018 -+ SYS_WRITEV = 5019 -+ SYS_ACCESS = 5020 -+ SYS_PIPE = 5021 -+ SYS__NEWSELECT = 5022 -+ SYS_SCHED_YIELD = 5023 -+ SYS_MREMAP = 5024 -+ SYS_MSYNC = 5025 -+ SYS_MINCORE = 5026 -+ SYS_MADVISE = 5027 -+ SYS_SHMGET = 5028 -+ SYS_SHMAT = 5029 -+ SYS_SHMCTL = 5030 -+ SYS_DUP = 5031 -+ SYS_DUP2 = 5032 -+ SYS_PAUSE = 5033 -+ SYS_NANOSLEEP = 5034 -+ SYS_GETITIMER = 5035 -+ SYS_SETITIMER = 5036 -+ SYS_ALARM = 5037 -+ SYS_GETPID = 5038 -+ SYS_SENDFILE = 5039 -+ SYS_SOCKET = 5040 -+ SYS_CONNECT = 5041 -+ SYS_ACCEPT = 5042 -+ SYS_SENDTO = 5043 -+ SYS_RECVFROM = 5044 -+ SYS_SENDMSG = 5045 -+ SYS_RECVMSG = 5046 -+ SYS_SHUTDOWN = 5047 -+ SYS_BIND = 5048 -+ SYS_LISTEN = 5049 -+ SYS_GETSOCKNAME = 5050 -+ SYS_GETPEERNAME = 5051 -+ SYS_SOCKETPAIR = 5052 -+ SYS_SETSOCKOPT = 5053 -+ SYS_GETSOCKOPT = 5054 -+ SYS_CLONE = 5055 -+ SYS_FORK = 5056 -+ SYS_EXECVE = 5057 -+ SYS_EXIT = 5058 -+ SYS_WAIT4 = 5059 -+ SYS_KILL = 5060 -+ SYS_UNAME = 5061 -+ SYS_SEMGET = 5062 -+ SYS_SEMOP = 5063 -+ SYS_SEMCTL = 5064 -+ SYS_SHMDT = 5065 -+ SYS_MSGGET = 5066 -+ SYS_MSGSND = 5067 -+ SYS_MSGRCV = 5068 -+ SYS_MSGCTL = 5069 -+ SYS_FCNTL = 5070 -+ SYS_FLOCK = 5071 -+ SYS_FSYNC = 5072 -+ SYS_FDATASYNC = 5073 -+ SYS_TRUNCATE = 5074 -+ SYS_FTRUNCATE = 5075 -+ SYS_GETDENTS = 5076 -+ SYS_GETCWD = 5077 -+ SYS_CHDIR = 5078 -+ SYS_FCHDIR = 5079 -+ SYS_RENAME = 5080 -+ SYS_MKDIR = 5081 -+ SYS_RMDIR = 5082 -+ SYS_CREAT = 5083 -+ SYS_LINK = 5084 -+ SYS_UNLINK = 5085 -+ SYS_SYMLINK = 5086 -+ SYS_READLINK = 5087 -+ SYS_CHMOD = 5088 -+ SYS_FCHMOD = 5089 -+ SYS_CHOWN = 5090 -+ SYS_FCHOWN = 5091 -+ SYS_LCHOWN = 5092 -+ SYS_UMASK = 5093 -+ SYS_GETTIMEOFDAY = 5094 -+ SYS_GETRLIMIT = 5095 -+ SYS_GETRUSAGE = 5096 -+ SYS_SYSINFO = 5097 -+ SYS_TIMES = 5098 -+ SYS_PTRACE = 5099 -+ SYS_GETUID = 5100 -+ SYS_SYSLOG = 5101 -+ SYS_GETGID = 5102 -+ SYS_SETUID = 5103 -+ SYS_SETGID = 5104 -+ SYS_GETEUID = 5105 -+ SYS_GETEGID = 5106 -+ SYS_SETPGID = 5107 -+ SYS_GETPPID = 5108 -+ SYS_GETPGRP = 5109 -+ SYS_SETSID = 5110 -+ SYS_SETREUID = 5111 -+ SYS_SETREGID = 5112 -+ SYS_GETGROUPS = 5113 -+ SYS_SETGROUPS = 5114 -+ SYS_SETRESUID = 5115 -+ SYS_GETRESUID = 5116 -+ SYS_SETRESGID = 5117 -+ SYS_GETRESGID = 5118 -+ SYS_GETPGID = 5119 -+ SYS_SETFSUID = 5120 -+ SYS_SETFSGID = 5121 -+ SYS_GETSID = 5122 -+ SYS_CAPGET = 5123 -+ SYS_CAPSET = 5124 -+ SYS_RT_SIGPENDING = 5125 -+ SYS_RT_SIGTIMEDWAIT = 5126 -+ SYS_RT_SIGQUEUEINFO = 5127 -+ SYS_RT_SIGSUSPEND = 5128 -+ SYS_SIGALTSTACK = 5129 -+ SYS_UTIME = 5130 -+ SYS_MKNOD = 5131 -+ SYS_PERSONALITY = 5132 -+ SYS_USTAT = 5133 -+ SYS_STATFS = 5134 -+ SYS_FSTATFS = 5135 -+ SYS_SYSFS = 5136 -+ SYS_GETPRIORITY = 5137 -+ SYS_SETPRIORITY = 5138 -+ SYS_SCHED_SETPARAM = 5139 -+ SYS_SCHED_GETPARAM = 5140 -+ SYS_SCHED_SETSCHEDULER = 5141 -+ SYS_SCHED_GETSCHEDULER = 5142 -+ SYS_SCHED_GET_PRIORITY_MAX = 5143 -+ SYS_SCHED_GET_PRIORITY_MIN = 5144 -+ SYS_SCHED_RR_GET_INTERVAL = 5145 -+ SYS_MLOCK = 5146 -+ SYS_MUNLOCK = 5147 -+ SYS_MLOCKALL = 5148 -+ SYS_MUNLOCKALL = 5149 -+ SYS_VHANGUP = 5150 -+ SYS_PIVOT_ROOT = 5151 -+ SYS__SYSCTL = 5152 -+ SYS_PRCTL = 5153 -+ SYS_ADJTIMEX = 5154 -+ SYS_SETRLIMIT = 5155 -+ SYS_CHROOT = 5156 -+ SYS_SYNC = 5157 -+ SYS_ACCT = 5158 -+ SYS_SETTIMEOFDAY = 5159 -+ SYS_MOUNT = 5160 -+ SYS_UMOUNT2 = 5161 -+ SYS_SWAPON = 5162 -+ SYS_SWAPOFF = 5163 -+ SYS_REBOOT = 5164 -+ SYS_SETHOSTNAME = 5165 -+ SYS_SETDOMAINNAME = 5166 -+ SYS_CREATE_MODULE = 5167 -+ SYS_INIT_MODULE = 5168 -+ SYS_DELETE_MODULE = 5169 -+ SYS_GET_KERNEL_SYMS = 5170 -+ SYS_QUERY_MODULE = 5171 -+ SYS_QUOTACTL = 5172 -+ SYS_NFSSERVCTL = 5173 -+ SYS_GETPMSG = 5174 -+ SYS_PUTPMSG = 5175 -+ SYS_AFS_SYSCALL = 5176 -+ SYS_RESERVED177 = 5177 -+ SYS_GETTID = 5178 -+ SYS_READAHEAD = 5179 -+ SYS_SETXATTR = 5180 -+ SYS_LSETXATTR = 5181 -+ SYS_FSETXATTR = 5182 -+ SYS_GETXATTR = 5183 -+ SYS_LGETXATTR = 5184 -+ SYS_FGETXATTR = 5185 -+ SYS_LISTXATTR = 5186 -+ SYS_LLISTXATTR = 5187 -+ SYS_FLISTXATTR = 5188 -+ SYS_REMOVEXATTR = 5189 -+ SYS_LREMOVEXATTR = 5190 -+ SYS_FREMOVEXATTR = 5191 -+ SYS_TKILL = 5192 -+ SYS_RESERVED193 = 5193 -+ SYS_FUTEX = 5194 -+ SYS_SCHED_SETAFFINITY = 5195 -+ SYS_SCHED_GETAFFINITY = 5196 -+ SYS_CACHEFLUSH = 5197 -+ SYS_CACHECTL = 5198 -+ SYS_SYSMIPS = 5199 -+ SYS_IO_SETUP = 5200 -+ SYS_IO_DESTROY = 5201 -+ SYS_IO_GETEVENTS = 5202 -+ SYS_IO_SUBMIT = 5203 -+ SYS_IO_CANCEL = 5204 -+ SYS_EXIT_GROUP = 5205 -+ SYS_LOOKUP_DCOOKIE = 5206 -+ SYS_EPOLL_CREATE = 5207 -+ SYS_EPOLL_CTL = 5208 -+ SYS_EPOLL_WAIT = 5209 -+ SYS_REMAP_FILE_PAGES = 5210 -+ SYS_RT_SIGRETURN = 5211 -+ SYS_SET_TID_ADDRESS = 5212 -+ SYS_RESTART_SYSCALL = 5213 -+ SYS_SEMTIMEDOP = 5214 -+ SYS_FADVISE64 = 5215 -+ SYS_TIMER_CREATE = 5216 -+ SYS_TIMER_SETTIME = 5217 -+ SYS_TIMER_GETTIME = 5218 -+ SYS_TIMER_GETOVERRUN = 5219 -+ SYS_TIMER_DELETE = 5220 -+ SYS_CLOCK_SETTIME = 5221 -+ SYS_CLOCK_GETTIME = 5222 -+ SYS_CLOCK_GETRES = 5223 -+ SYS_CLOCK_NANOSLEEP = 5224 -+ SYS_TGKILL = 5225 -+ SYS_UTIMES = 5226 -+ SYS_MBIND = 5227 -+ SYS_GET_MEMPOLICY = 5228 -+ SYS_SET_MEMPOLICY = 5229 -+ SYS_MQ_OPEN = 5230 -+ SYS_MQ_UNLINK = 5231 -+ SYS_MQ_TIMEDSEND = 5232 -+ SYS_MQ_TIMEDRECEIVE = 5233 -+ SYS_MQ_NOTIFY = 5234 -+ SYS_MQ_GETSETATTR = 5235 -+ SYS_VSERVER = 5236 -+ SYS_WAITID = 5237 -+ SYS_ADD_KEY = 5239 -+ SYS_REQUEST_KEY = 5240 -+ SYS_KEYCTL = 5241 -+ SYS_SET_THREAD_AREA = 5242 -+ SYS_INOTIFY_INIT = 5243 -+ SYS_INOTIFY_ADD_WATCH = 5244 -+ SYS_INOTIFY_RM_WATCH = 5245 -+ SYS_MIGRATE_PAGES = 5246 -+ SYS_OPENAT = 5247 -+ SYS_MKDIRAT = 5248 -+ SYS_MKNODAT = 5249 -+ SYS_FCHOWNAT = 5250 -+ SYS_FUTIMESAT = 5251 -+ SYS_NEWFSTATAT = 5252 -+ SYS_UNLINKAT = 5253 -+ SYS_RENAMEAT = 5254 -+ SYS_LINKAT = 5255 -+ SYS_SYMLINKAT = 5256 -+ SYS_READLINKAT = 5257 -+ SYS_FCHMODAT = 5258 -+ SYS_FACCESSAT = 5259 -+ SYS_PSELECT6 = 5260 -+ SYS_PPOLL = 5261 -+ SYS_UNSHARE = 5262 -+ SYS_SPLICE = 5263 -+ SYS_SYNC_FILE_RANGE = 5264 -+ SYS_TEE = 5265 -+ SYS_VMSPLICE = 5266 -+ SYS_MOVE_PAGES = 5267 -+ SYS_SET_ROBUST_LIST = 5268 -+ SYS_GET_ROBUST_LIST = 5269 -+ SYS_KEXEC_LOAD = 5270 -+ SYS_GETCPU = 5271 -+ SYS_EPOLL_PWAIT = 5272 -+ SYS_IOPRIO_SET = 5273 -+ SYS_IOPRIO_GET = 5274 -+ SYS_UTIMENSAT = 5275 -+ SYS_SIGNALFD = 5276 -+ SYS_TIMERFD = 5277 -+ SYS_EVENTFD = 5278 -+ SYS_FALLOCATE = 5279 -+ SYS_TIMERFD_CREATE = 5280 -+ SYS_TIMERFD_GETTIME = 5281 -+ SYS_TIMERFD_SETTIME = 5282 -+ SYS_SIGNALFD4 = 5283 -+ SYS_EVENTFD2 = 5284 -+ SYS_EPOLL_CREATE1 = 5285 -+ SYS_DUP3 = 5286 -+ SYS_PIPE2 = 5287 -+ SYS_INOTIFY_INIT1 = 5288 -+ SYS_PREADV = 5289 -+ SYS_PWRITEV = 5290 -+ SYS_RT_TGSIGQUEUEINFO = 5291 -+ SYS_PERF_EVENT_OPEN = 5292 -+ SYS_ACCEPT4 = 5293 -+ SYS_RECVMMSG = 5294 -+ SYS_FANOTIFY_INIT = 5295 -+ SYS_FANOTIFY_MARK = 5296 -+ SYS_PRLIMIT64 = 5297 -+ SYS_NAME_TO_HANDLE_AT = 5298 -+ SYS_OPEN_BY_HANDLE_AT = 5299 -+ SYS_CLOCK_ADJTIME = 5300 -+ SYS_SYNCFS = 5301 -+ SYS_SENDMMSG = 5302 -+ SYS_SETNS = 5303 -+ SYS_PROCESS_VM_READV = 5304 -+ SYS_PROCESS_VM_WRITEV = 5305 -+ SYS_KCMP = 5306 -+ SYS_FINIT_MODULE = 5307 -+ SYS_GETDENTS64 = 5308 -+ SYS_SCHED_SETATTR = 5309 -+ SYS_SCHED_GETATTR = 5310 -+ SYS_RENAMEAT2 = 5311 -+ SYS_SECCOMP = 5312 -+ SYS_GETRANDOM = 5313 -+ SYS_MEMFD_CREATE = 5314 -+ SYS_BPF = 5315 -+ SYS_EXECVEAT = 5316 -+ SYS_USERFAULTFD = 5317 -+ SYS_MEMBARRIER = 5318 -+ SYS_MLOCK2 = 5319 -+ SYS_COPY_FILE_RANGE = 5320 -+ SYS_PREADV2 = 5321 -+ SYS_PWRITEV2 = 5322 -+ SYS_PKEY_MPROTECT = 5323 -+ SYS_PKEY_ALLOC = 5324 -+ SYS_PKEY_FREE = 5325 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -new file mode 100644 -index 0000000..f0155ba ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -@@ -0,0 +1,374 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEL__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mipsle,linux -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 4000 -+ SYS_EXIT = 4001 -+ SYS_FORK = 4002 -+ SYS_READ = 4003 -+ SYS_WRITE = 4004 -+ SYS_OPEN = 4005 -+ SYS_CLOSE = 4006 -+ SYS_WAITPID = 4007 -+ SYS_CREAT = 4008 -+ SYS_LINK = 4009 -+ SYS_UNLINK = 4010 -+ SYS_EXECVE = 4011 -+ SYS_CHDIR = 4012 -+ SYS_TIME = 4013 -+ SYS_MKNOD = 4014 -+ SYS_CHMOD = 4015 -+ SYS_LCHOWN = 4016 -+ SYS_BREAK = 4017 -+ SYS_UNUSED18 = 4018 -+ SYS_LSEEK = 4019 -+ SYS_GETPID = 4020 -+ SYS_MOUNT = 4021 -+ SYS_UMOUNT = 4022 -+ SYS_SETUID = 4023 -+ SYS_GETUID = 4024 -+ SYS_STIME = 4025 -+ SYS_PTRACE = 4026 -+ SYS_ALARM = 4027 -+ SYS_UNUSED28 = 4028 -+ SYS_PAUSE = 4029 -+ SYS_UTIME = 4030 -+ SYS_STTY = 4031 -+ SYS_GTTY = 4032 -+ SYS_ACCESS = 4033 -+ SYS_NICE = 4034 -+ SYS_FTIME = 4035 -+ SYS_SYNC = 4036 -+ SYS_KILL = 4037 -+ SYS_RENAME = 4038 -+ SYS_MKDIR = 4039 -+ SYS_RMDIR = 4040 -+ SYS_DUP = 4041 -+ SYS_PIPE = 4042 -+ SYS_TIMES = 4043 -+ SYS_PROF = 4044 -+ SYS_BRK = 4045 -+ SYS_SETGID = 4046 -+ SYS_GETGID = 4047 -+ SYS_SIGNAL = 4048 -+ SYS_GETEUID = 4049 -+ SYS_GETEGID = 4050 -+ SYS_ACCT = 4051 -+ SYS_UMOUNT2 = 4052 -+ SYS_LOCK = 4053 -+ SYS_IOCTL = 4054 -+ SYS_FCNTL = 4055 -+ SYS_MPX = 4056 -+ SYS_SETPGID = 4057 -+ SYS_ULIMIT = 4058 -+ SYS_UNUSED59 = 4059 -+ SYS_UMASK = 4060 -+ SYS_CHROOT = 4061 -+ SYS_USTAT = 4062 -+ SYS_DUP2 = 4063 -+ SYS_GETPPID = 4064 -+ SYS_GETPGRP = 4065 -+ SYS_SETSID = 4066 -+ SYS_SIGACTION = 4067 -+ SYS_SGETMASK = 4068 -+ SYS_SSETMASK = 4069 -+ SYS_SETREUID = 4070 -+ SYS_SETREGID = 4071 -+ SYS_SIGSUSPEND = 4072 -+ SYS_SIGPENDING = 4073 -+ SYS_SETHOSTNAME = 4074 -+ SYS_SETRLIMIT = 4075 -+ SYS_GETRLIMIT = 4076 -+ SYS_GETRUSAGE = 4077 -+ SYS_GETTIMEOFDAY = 4078 -+ SYS_SETTIMEOFDAY = 4079 -+ SYS_GETGROUPS = 4080 -+ SYS_SETGROUPS = 4081 -+ SYS_RESERVED82 = 4082 -+ SYS_SYMLINK = 4083 -+ SYS_UNUSED84 = 4084 -+ SYS_READLINK = 4085 -+ SYS_USELIB = 4086 -+ SYS_SWAPON = 4087 -+ SYS_REBOOT = 4088 -+ SYS_READDIR = 4089 -+ SYS_MMAP = 4090 -+ SYS_MUNMAP = 4091 -+ SYS_TRUNCATE = 4092 -+ SYS_FTRUNCATE = 4093 -+ SYS_FCHMOD = 4094 -+ SYS_FCHOWN = 4095 -+ SYS_GETPRIORITY = 4096 -+ SYS_SETPRIORITY = 4097 -+ SYS_PROFIL = 4098 -+ SYS_STATFS = 4099 -+ SYS_FSTATFS = 4100 -+ SYS_IOPERM = 4101 -+ SYS_SOCKETCALL = 4102 -+ SYS_SYSLOG = 4103 -+ SYS_SETITIMER = 4104 -+ SYS_GETITIMER = 4105 -+ SYS_STAT = 4106 -+ SYS_LSTAT = 4107 -+ SYS_FSTAT = 4108 -+ SYS_UNUSED109 = 4109 -+ SYS_IOPL = 4110 -+ SYS_VHANGUP = 4111 -+ SYS_IDLE = 4112 -+ SYS_VM86 = 4113 -+ SYS_WAIT4 = 4114 -+ SYS_SWAPOFF = 4115 -+ SYS_SYSINFO = 4116 -+ SYS_IPC = 4117 -+ SYS_FSYNC = 4118 -+ SYS_SIGRETURN = 4119 -+ SYS_CLONE = 4120 -+ SYS_SETDOMAINNAME = 4121 -+ SYS_UNAME = 4122 -+ SYS_MODIFY_LDT = 4123 -+ SYS_ADJTIMEX = 4124 -+ SYS_MPROTECT = 4125 -+ SYS_SIGPROCMASK = 4126 -+ SYS_CREATE_MODULE = 4127 -+ SYS_INIT_MODULE = 4128 -+ SYS_DELETE_MODULE = 4129 -+ SYS_GET_KERNEL_SYMS = 4130 -+ SYS_QUOTACTL = 4131 -+ SYS_GETPGID = 4132 -+ SYS_FCHDIR = 4133 -+ SYS_BDFLUSH = 4134 -+ SYS_SYSFS = 4135 -+ SYS_PERSONALITY = 4136 -+ SYS_AFS_SYSCALL = 4137 -+ SYS_SETFSUID = 4138 -+ SYS_SETFSGID = 4139 -+ SYS__LLSEEK = 4140 -+ SYS_GETDENTS = 4141 -+ SYS__NEWSELECT = 4142 -+ SYS_FLOCK = 4143 -+ SYS_MSYNC = 4144 -+ SYS_READV = 4145 -+ SYS_WRITEV = 4146 -+ SYS_CACHEFLUSH = 4147 -+ SYS_CACHECTL = 4148 -+ SYS_SYSMIPS = 4149 -+ SYS_UNUSED150 = 4150 -+ SYS_GETSID = 4151 -+ SYS_FDATASYNC = 4152 -+ SYS__SYSCTL = 4153 -+ SYS_MLOCK = 4154 -+ SYS_MUNLOCK = 4155 -+ SYS_MLOCKALL = 4156 -+ SYS_MUNLOCKALL = 4157 -+ SYS_SCHED_SETPARAM = 4158 -+ SYS_SCHED_GETPARAM = 4159 -+ SYS_SCHED_SETSCHEDULER = 4160 -+ SYS_SCHED_GETSCHEDULER = 4161 -+ SYS_SCHED_YIELD = 4162 -+ SYS_SCHED_GET_PRIORITY_MAX = 4163 -+ SYS_SCHED_GET_PRIORITY_MIN = 4164 -+ SYS_SCHED_RR_GET_INTERVAL = 4165 -+ SYS_NANOSLEEP = 4166 -+ SYS_MREMAP = 4167 -+ SYS_ACCEPT = 4168 -+ SYS_BIND = 4169 -+ SYS_CONNECT = 4170 -+ SYS_GETPEERNAME = 4171 -+ SYS_GETSOCKNAME = 4172 -+ SYS_GETSOCKOPT = 4173 -+ SYS_LISTEN = 4174 -+ SYS_RECV = 4175 -+ SYS_RECVFROM = 4176 -+ SYS_RECVMSG = 4177 -+ SYS_SEND = 4178 -+ SYS_SENDMSG = 4179 -+ SYS_SENDTO = 4180 -+ SYS_SETSOCKOPT = 4181 -+ SYS_SHUTDOWN = 4182 -+ SYS_SOCKET = 4183 -+ SYS_SOCKETPAIR = 4184 -+ SYS_SETRESUID = 4185 -+ SYS_GETRESUID = 4186 -+ SYS_QUERY_MODULE = 4187 -+ SYS_POLL = 4188 -+ SYS_NFSSERVCTL = 4189 -+ SYS_SETRESGID = 4190 -+ SYS_GETRESGID = 4191 -+ SYS_PRCTL = 4192 -+ SYS_RT_SIGRETURN = 4193 -+ SYS_RT_SIGACTION = 4194 -+ SYS_RT_SIGPROCMASK = 4195 -+ SYS_RT_SIGPENDING = 4196 -+ SYS_RT_SIGTIMEDWAIT = 4197 -+ SYS_RT_SIGQUEUEINFO = 4198 -+ SYS_RT_SIGSUSPEND = 4199 -+ SYS_PREAD64 = 4200 -+ SYS_PWRITE64 = 4201 -+ SYS_CHOWN = 4202 -+ SYS_GETCWD = 4203 -+ SYS_CAPGET = 4204 -+ SYS_CAPSET = 4205 -+ SYS_SIGALTSTACK = 4206 -+ SYS_SENDFILE = 4207 -+ SYS_GETPMSG = 4208 -+ SYS_PUTPMSG = 4209 -+ SYS_MMAP2 = 4210 -+ SYS_TRUNCATE64 = 4211 -+ SYS_FTRUNCATE64 = 4212 -+ SYS_STAT64 = 4213 -+ SYS_LSTAT64 = 4214 -+ SYS_FSTAT64 = 4215 -+ SYS_PIVOT_ROOT = 4216 -+ SYS_MINCORE = 4217 -+ SYS_MADVISE = 4218 -+ SYS_GETDENTS64 = 4219 -+ SYS_FCNTL64 = 4220 -+ SYS_RESERVED221 = 4221 -+ SYS_GETTID = 4222 -+ SYS_READAHEAD = 4223 -+ SYS_SETXATTR = 4224 -+ SYS_LSETXATTR = 4225 -+ SYS_FSETXATTR = 4226 -+ SYS_GETXATTR = 4227 -+ SYS_LGETXATTR = 4228 -+ SYS_FGETXATTR = 4229 -+ SYS_LISTXATTR = 4230 -+ SYS_LLISTXATTR = 4231 -+ SYS_FLISTXATTR = 4232 -+ SYS_REMOVEXATTR = 4233 -+ SYS_LREMOVEXATTR = 4234 -+ SYS_FREMOVEXATTR = 4235 -+ SYS_TKILL = 4236 -+ SYS_SENDFILE64 = 4237 -+ SYS_FUTEX = 4238 -+ SYS_SCHED_SETAFFINITY = 4239 -+ SYS_SCHED_GETAFFINITY = 4240 -+ SYS_IO_SETUP = 4241 -+ SYS_IO_DESTROY = 4242 -+ SYS_IO_GETEVENTS = 4243 -+ SYS_IO_SUBMIT = 4244 -+ SYS_IO_CANCEL = 4245 -+ SYS_EXIT_GROUP = 4246 -+ SYS_LOOKUP_DCOOKIE = 4247 -+ SYS_EPOLL_CREATE = 4248 -+ SYS_EPOLL_CTL = 4249 -+ SYS_EPOLL_WAIT = 4250 -+ SYS_REMAP_FILE_PAGES = 4251 -+ SYS_SET_TID_ADDRESS = 4252 -+ SYS_RESTART_SYSCALL = 4253 -+ SYS_FADVISE64 = 4254 -+ SYS_STATFS64 = 4255 -+ SYS_FSTATFS64 = 4256 -+ SYS_TIMER_CREATE = 4257 -+ SYS_TIMER_SETTIME = 4258 -+ SYS_TIMER_GETTIME = 4259 -+ SYS_TIMER_GETOVERRUN = 4260 -+ SYS_TIMER_DELETE = 4261 -+ SYS_CLOCK_SETTIME = 4262 -+ SYS_CLOCK_GETTIME = 4263 -+ SYS_CLOCK_GETRES = 4264 -+ SYS_CLOCK_NANOSLEEP = 4265 -+ SYS_TGKILL = 4266 -+ SYS_UTIMES = 4267 -+ SYS_MBIND = 4268 -+ SYS_GET_MEMPOLICY = 4269 -+ SYS_SET_MEMPOLICY = 4270 -+ SYS_MQ_OPEN = 4271 -+ SYS_MQ_UNLINK = 4272 -+ SYS_MQ_TIMEDSEND = 4273 -+ SYS_MQ_TIMEDRECEIVE = 4274 -+ SYS_MQ_NOTIFY = 4275 -+ SYS_MQ_GETSETATTR = 4276 -+ SYS_VSERVER = 4277 -+ SYS_WAITID = 4278 -+ SYS_ADD_KEY = 4280 -+ SYS_REQUEST_KEY = 4281 -+ SYS_KEYCTL = 4282 -+ SYS_SET_THREAD_AREA = 4283 -+ SYS_INOTIFY_INIT = 4284 -+ SYS_INOTIFY_ADD_WATCH = 4285 -+ SYS_INOTIFY_RM_WATCH = 4286 -+ SYS_MIGRATE_PAGES = 4287 -+ SYS_OPENAT = 4288 -+ SYS_MKDIRAT = 4289 -+ SYS_MKNODAT = 4290 -+ SYS_FCHOWNAT = 4291 -+ SYS_FUTIMESAT = 4292 -+ SYS_FSTATAT64 = 4293 -+ SYS_UNLINKAT = 4294 -+ SYS_RENAMEAT = 4295 -+ SYS_LINKAT = 4296 -+ SYS_SYMLINKAT = 4297 -+ SYS_READLINKAT = 4298 -+ SYS_FCHMODAT = 4299 -+ SYS_FACCESSAT = 4300 -+ SYS_PSELECT6 = 4301 -+ SYS_PPOLL = 4302 -+ SYS_UNSHARE = 4303 -+ SYS_SPLICE = 4304 -+ SYS_SYNC_FILE_RANGE = 4305 -+ SYS_TEE = 4306 -+ SYS_VMSPLICE = 4307 -+ SYS_MOVE_PAGES = 4308 -+ SYS_SET_ROBUST_LIST = 4309 -+ SYS_GET_ROBUST_LIST = 4310 -+ SYS_KEXEC_LOAD = 4311 -+ SYS_GETCPU = 4312 -+ SYS_EPOLL_PWAIT = 4313 -+ SYS_IOPRIO_SET = 4314 -+ SYS_IOPRIO_GET = 4315 -+ SYS_UTIMENSAT = 4316 -+ SYS_SIGNALFD = 4317 -+ SYS_TIMERFD = 4318 -+ SYS_EVENTFD = 4319 -+ SYS_FALLOCATE = 4320 -+ SYS_TIMERFD_CREATE = 4321 -+ SYS_TIMERFD_GETTIME = 4322 -+ SYS_TIMERFD_SETTIME = 4323 -+ SYS_SIGNALFD4 = 4324 -+ SYS_EVENTFD2 = 4325 -+ SYS_EPOLL_CREATE1 = 4326 -+ SYS_DUP3 = 4327 -+ SYS_PIPE2 = 4328 -+ SYS_INOTIFY_INIT1 = 4329 -+ SYS_PREADV = 4330 -+ SYS_PWRITEV = 4331 -+ SYS_RT_TGSIGQUEUEINFO = 4332 -+ SYS_PERF_EVENT_OPEN = 4333 -+ SYS_ACCEPT4 = 4334 -+ SYS_RECVMMSG = 4335 -+ SYS_FANOTIFY_INIT = 4336 -+ SYS_FANOTIFY_MARK = 4337 -+ SYS_PRLIMIT64 = 4338 -+ SYS_NAME_TO_HANDLE_AT = 4339 -+ SYS_OPEN_BY_HANDLE_AT = 4340 -+ SYS_CLOCK_ADJTIME = 4341 -+ SYS_SYNCFS = 4342 -+ SYS_SENDMMSG = 4343 -+ SYS_SETNS = 4344 -+ SYS_PROCESS_VM_READV = 4345 -+ SYS_PROCESS_VM_WRITEV = 4346 -+ SYS_KCMP = 4347 -+ SYS_FINIT_MODULE = 4348 -+ SYS_SCHED_SETATTR = 4349 -+ SYS_SCHED_GETATTR = 4350 -+ SYS_RENAMEAT2 = 4351 -+ SYS_SECCOMP = 4352 -+ SYS_GETRANDOM = 4353 -+ SYS_MEMFD_CREATE = 4354 -+ SYS_BPF = 4355 -+ SYS_EXECVEAT = 4356 -+ SYS_USERFAULTFD = 4357 -+ SYS_MEMBARRIER = 4358 -+ SYS_MLOCK2 = 4359 -+ SYS_COPY_FILE_RANGE = 4360 -+ SYS_PREADV2 = 4361 -+ SYS_PWRITEV2 = 4362 -+ SYS_PKEY_MPROTECT = 4363 -+ SYS_PKEY_ALLOC = 4364 -+ SYS_PKEY_FREE = 4365 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -new file mode 100644 -index 0000000..0deec82 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -@@ -0,0 +1,369 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build ppc64,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86 = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_QUERY_MODULE = 166 -+ SYS_POLL = 167 -+ SYS_NFSSERVCTL = 168 -+ SYS_SETRESGID = 169 -+ SYS_GETRESGID = 170 -+ SYS_PRCTL = 171 -+ SYS_RT_SIGRETURN = 172 -+ SYS_RT_SIGACTION = 173 -+ SYS_RT_SIGPROCMASK = 174 -+ SYS_RT_SIGPENDING = 175 -+ SYS_RT_SIGTIMEDWAIT = 176 -+ SYS_RT_SIGQUEUEINFO = 177 -+ SYS_RT_SIGSUSPEND = 178 -+ SYS_PREAD64 = 179 -+ SYS_PWRITE64 = 180 -+ SYS_CHOWN = 181 -+ SYS_GETCWD = 182 -+ SYS_CAPGET = 183 -+ SYS_CAPSET = 184 -+ SYS_SIGALTSTACK = 185 -+ SYS_SENDFILE = 186 -+ SYS_GETPMSG = 187 -+ SYS_PUTPMSG = 188 -+ SYS_VFORK = 189 -+ SYS_UGETRLIMIT = 190 -+ SYS_READAHEAD = 191 -+ SYS_PCICONFIG_READ = 198 -+ SYS_PCICONFIG_WRITE = 199 -+ SYS_PCICONFIG_IOBASE = 200 -+ SYS_MULTIPLEXER = 201 -+ SYS_GETDENTS64 = 202 -+ SYS_PIVOT_ROOT = 203 -+ SYS_MADVISE = 205 -+ SYS_MINCORE = 206 -+ SYS_GETTID = 207 -+ SYS_TKILL = 208 -+ SYS_SETXATTR = 209 -+ SYS_LSETXATTR = 210 -+ SYS_FSETXATTR = 211 -+ SYS_GETXATTR = 212 -+ SYS_LGETXATTR = 213 -+ SYS_FGETXATTR = 214 -+ SYS_LISTXATTR = 215 -+ SYS_LLISTXATTR = 216 -+ SYS_FLISTXATTR = 217 -+ SYS_REMOVEXATTR = 218 -+ SYS_LREMOVEXATTR = 219 -+ SYS_FREMOVEXATTR = 220 -+ SYS_FUTEX = 221 -+ SYS_SCHED_SETAFFINITY = 222 -+ SYS_SCHED_GETAFFINITY = 223 -+ SYS_TUXCALL = 225 -+ SYS_IO_SETUP = 227 -+ SYS_IO_DESTROY = 228 -+ SYS_IO_GETEVENTS = 229 -+ SYS_IO_SUBMIT = 230 -+ SYS_IO_CANCEL = 231 -+ SYS_SET_TID_ADDRESS = 232 -+ SYS_FADVISE64 = 233 -+ SYS_EXIT_GROUP = 234 -+ SYS_LOOKUP_DCOOKIE = 235 -+ SYS_EPOLL_CREATE = 236 -+ SYS_EPOLL_CTL = 237 -+ SYS_EPOLL_WAIT = 238 -+ SYS_REMAP_FILE_PAGES = 239 -+ SYS_TIMER_CREATE = 240 -+ SYS_TIMER_SETTIME = 241 -+ SYS_TIMER_GETTIME = 242 -+ SYS_TIMER_GETOVERRUN = 243 -+ SYS_TIMER_DELETE = 244 -+ SYS_CLOCK_SETTIME = 245 -+ SYS_CLOCK_GETTIME = 246 -+ SYS_CLOCK_GETRES = 247 -+ SYS_CLOCK_NANOSLEEP = 248 -+ SYS_SWAPCONTEXT = 249 -+ SYS_TGKILL = 250 -+ SYS_UTIMES = 251 -+ SYS_STATFS64 = 252 -+ SYS_FSTATFS64 = 253 -+ SYS_RTAS = 255 -+ SYS_SYS_DEBUG_SETCONTEXT = 256 -+ SYS_MIGRATE_PAGES = 258 -+ SYS_MBIND = 259 -+ SYS_GET_MEMPOLICY = 260 -+ SYS_SET_MEMPOLICY = 261 -+ SYS_MQ_OPEN = 262 -+ SYS_MQ_UNLINK = 263 -+ SYS_MQ_TIMEDSEND = 264 -+ SYS_MQ_TIMEDRECEIVE = 265 -+ SYS_MQ_NOTIFY = 266 -+ SYS_MQ_GETSETATTR = 267 -+ SYS_KEXEC_LOAD = 268 -+ SYS_ADD_KEY = 269 -+ SYS_REQUEST_KEY = 270 -+ SYS_KEYCTL = 271 -+ SYS_WAITID = 272 -+ SYS_IOPRIO_SET = 273 -+ SYS_IOPRIO_GET = 274 -+ SYS_INOTIFY_INIT = 275 -+ SYS_INOTIFY_ADD_WATCH = 276 -+ SYS_INOTIFY_RM_WATCH = 277 -+ SYS_SPU_RUN = 278 -+ SYS_SPU_CREATE = 279 -+ SYS_PSELECT6 = 280 -+ SYS_PPOLL = 281 -+ SYS_UNSHARE = 282 -+ SYS_SPLICE = 283 -+ SYS_TEE = 284 -+ SYS_VMSPLICE = 285 -+ SYS_OPENAT = 286 -+ SYS_MKDIRAT = 287 -+ SYS_MKNODAT = 288 -+ SYS_FCHOWNAT = 289 -+ SYS_FUTIMESAT = 290 -+ SYS_NEWFSTATAT = 291 -+ SYS_UNLINKAT = 292 -+ SYS_RENAMEAT = 293 -+ SYS_LINKAT = 294 -+ SYS_SYMLINKAT = 295 -+ SYS_READLINKAT = 296 -+ SYS_FCHMODAT = 297 -+ SYS_FACCESSAT = 298 -+ SYS_GET_ROBUST_LIST = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_MOVE_PAGES = 301 -+ SYS_GETCPU = 302 -+ SYS_EPOLL_PWAIT = 303 -+ SYS_UTIMENSAT = 304 -+ SYS_SIGNALFD = 305 -+ SYS_TIMERFD_CREATE = 306 -+ SYS_EVENTFD = 307 -+ SYS_SYNC_FILE_RANGE2 = 308 -+ SYS_FALLOCATE = 309 -+ SYS_SUBPAGE_PROT = 310 -+ SYS_TIMERFD_SETTIME = 311 -+ SYS_TIMERFD_GETTIME = 312 -+ SYS_SIGNALFD4 = 313 -+ SYS_EVENTFD2 = 314 -+ SYS_EPOLL_CREATE1 = 315 -+ SYS_DUP3 = 316 -+ SYS_PIPE2 = 317 -+ SYS_INOTIFY_INIT1 = 318 -+ SYS_PERF_EVENT_OPEN = 319 -+ SYS_PREADV = 320 -+ SYS_PWRITEV = 321 -+ SYS_RT_TGSIGQUEUEINFO = 322 -+ SYS_FANOTIFY_INIT = 323 -+ SYS_FANOTIFY_MARK = 324 -+ SYS_PRLIMIT64 = 325 -+ SYS_SOCKET = 326 -+ SYS_BIND = 327 -+ SYS_CONNECT = 328 -+ SYS_LISTEN = 329 -+ SYS_ACCEPT = 330 -+ SYS_GETSOCKNAME = 331 -+ SYS_GETPEERNAME = 332 -+ SYS_SOCKETPAIR = 333 -+ SYS_SEND = 334 -+ SYS_SENDTO = 335 -+ SYS_RECV = 336 -+ SYS_RECVFROM = 337 -+ SYS_SHUTDOWN = 338 -+ SYS_SETSOCKOPT = 339 -+ SYS_GETSOCKOPT = 340 -+ SYS_SENDMSG = 341 -+ SYS_RECVMSG = 342 -+ SYS_RECVMMSG = 343 -+ SYS_ACCEPT4 = 344 -+ SYS_NAME_TO_HANDLE_AT = 345 -+ SYS_OPEN_BY_HANDLE_AT = 346 -+ SYS_CLOCK_ADJTIME = 347 -+ SYS_SYNCFS = 348 -+ SYS_SENDMMSG = 349 -+ SYS_SETNS = 350 -+ SYS_PROCESS_VM_READV = 351 -+ SYS_PROCESS_VM_WRITEV = 352 -+ SYS_FINIT_MODULE = 353 -+ SYS_KCMP = 354 -+ SYS_SCHED_SETATTR = 355 -+ SYS_SCHED_GETATTR = 356 -+ SYS_RENAMEAT2 = 357 -+ SYS_SECCOMP = 358 -+ SYS_GETRANDOM = 359 -+ SYS_MEMFD_CREATE = 360 -+ SYS_BPF = 361 -+ SYS_EXECVEAT = 362 -+ SYS_SWITCH_ENDIAN = 363 -+ SYS_USERFAULTFD = 364 -+ SYS_MEMBARRIER = 365 -+ SYS_MLOCK2 = 378 -+ SYS_COPY_FILE_RANGE = 379 -+ SYS_PREADV2 = 380 -+ SYS_PWRITEV2 = 381 -+ SYS_KEXEC_FILE_LOAD = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -new file mode 100644 -index 0000000..3f701be ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -@@ -0,0 +1,369 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build ppc64le,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86 = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_QUERY_MODULE = 166 -+ SYS_POLL = 167 -+ SYS_NFSSERVCTL = 168 -+ SYS_SETRESGID = 169 -+ SYS_GETRESGID = 170 -+ SYS_PRCTL = 171 -+ SYS_RT_SIGRETURN = 172 -+ SYS_RT_SIGACTION = 173 -+ SYS_RT_SIGPROCMASK = 174 -+ SYS_RT_SIGPENDING = 175 -+ SYS_RT_SIGTIMEDWAIT = 176 -+ SYS_RT_SIGQUEUEINFO = 177 -+ SYS_RT_SIGSUSPEND = 178 -+ SYS_PREAD64 = 179 -+ SYS_PWRITE64 = 180 -+ SYS_CHOWN = 181 -+ SYS_GETCWD = 182 -+ SYS_CAPGET = 183 -+ SYS_CAPSET = 184 -+ SYS_SIGALTSTACK = 185 -+ SYS_SENDFILE = 186 -+ SYS_GETPMSG = 187 -+ SYS_PUTPMSG = 188 -+ SYS_VFORK = 189 -+ SYS_UGETRLIMIT = 190 -+ SYS_READAHEAD = 191 -+ SYS_PCICONFIG_READ = 198 -+ SYS_PCICONFIG_WRITE = 199 -+ SYS_PCICONFIG_IOBASE = 200 -+ SYS_MULTIPLEXER = 201 -+ SYS_GETDENTS64 = 202 -+ SYS_PIVOT_ROOT = 203 -+ SYS_MADVISE = 205 -+ SYS_MINCORE = 206 -+ SYS_GETTID = 207 -+ SYS_TKILL = 208 -+ SYS_SETXATTR = 209 -+ SYS_LSETXATTR = 210 -+ SYS_FSETXATTR = 211 -+ SYS_GETXATTR = 212 -+ SYS_LGETXATTR = 213 -+ SYS_FGETXATTR = 214 -+ SYS_LISTXATTR = 215 -+ SYS_LLISTXATTR = 216 -+ SYS_FLISTXATTR = 217 -+ SYS_REMOVEXATTR = 218 -+ SYS_LREMOVEXATTR = 219 -+ SYS_FREMOVEXATTR = 220 -+ SYS_FUTEX = 221 -+ SYS_SCHED_SETAFFINITY = 222 -+ SYS_SCHED_GETAFFINITY = 223 -+ SYS_TUXCALL = 225 -+ SYS_IO_SETUP = 227 -+ SYS_IO_DESTROY = 228 -+ SYS_IO_GETEVENTS = 229 -+ SYS_IO_SUBMIT = 230 -+ SYS_IO_CANCEL = 231 -+ SYS_SET_TID_ADDRESS = 232 -+ SYS_FADVISE64 = 233 -+ SYS_EXIT_GROUP = 234 -+ SYS_LOOKUP_DCOOKIE = 235 -+ SYS_EPOLL_CREATE = 236 -+ SYS_EPOLL_CTL = 237 -+ SYS_EPOLL_WAIT = 238 -+ SYS_REMAP_FILE_PAGES = 239 -+ SYS_TIMER_CREATE = 240 -+ SYS_TIMER_SETTIME = 241 -+ SYS_TIMER_GETTIME = 242 -+ SYS_TIMER_GETOVERRUN = 243 -+ SYS_TIMER_DELETE = 244 -+ SYS_CLOCK_SETTIME = 245 -+ SYS_CLOCK_GETTIME = 246 -+ SYS_CLOCK_GETRES = 247 -+ SYS_CLOCK_NANOSLEEP = 248 -+ SYS_SWAPCONTEXT = 249 -+ SYS_TGKILL = 250 -+ SYS_UTIMES = 251 -+ SYS_STATFS64 = 252 -+ SYS_FSTATFS64 = 253 -+ SYS_RTAS = 255 -+ SYS_SYS_DEBUG_SETCONTEXT = 256 -+ SYS_MIGRATE_PAGES = 258 -+ SYS_MBIND = 259 -+ SYS_GET_MEMPOLICY = 260 -+ SYS_SET_MEMPOLICY = 261 -+ SYS_MQ_OPEN = 262 -+ SYS_MQ_UNLINK = 263 -+ SYS_MQ_TIMEDSEND = 264 -+ SYS_MQ_TIMEDRECEIVE = 265 -+ SYS_MQ_NOTIFY = 266 -+ SYS_MQ_GETSETATTR = 267 -+ SYS_KEXEC_LOAD = 268 -+ SYS_ADD_KEY = 269 -+ SYS_REQUEST_KEY = 270 -+ SYS_KEYCTL = 271 -+ SYS_WAITID = 272 -+ SYS_IOPRIO_SET = 273 -+ SYS_IOPRIO_GET = 274 -+ SYS_INOTIFY_INIT = 275 -+ SYS_INOTIFY_ADD_WATCH = 276 -+ SYS_INOTIFY_RM_WATCH = 277 -+ SYS_SPU_RUN = 278 -+ SYS_SPU_CREATE = 279 -+ SYS_PSELECT6 = 280 -+ SYS_PPOLL = 281 -+ SYS_UNSHARE = 282 -+ SYS_SPLICE = 283 -+ SYS_TEE = 284 -+ SYS_VMSPLICE = 285 -+ SYS_OPENAT = 286 -+ SYS_MKDIRAT = 287 -+ SYS_MKNODAT = 288 -+ SYS_FCHOWNAT = 289 -+ SYS_FUTIMESAT = 290 -+ SYS_NEWFSTATAT = 291 -+ SYS_UNLINKAT = 292 -+ SYS_RENAMEAT = 293 -+ SYS_LINKAT = 294 -+ SYS_SYMLINKAT = 295 -+ SYS_READLINKAT = 296 -+ SYS_FCHMODAT = 297 -+ SYS_FACCESSAT = 298 -+ SYS_GET_ROBUST_LIST = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_MOVE_PAGES = 301 -+ SYS_GETCPU = 302 -+ SYS_EPOLL_PWAIT = 303 -+ SYS_UTIMENSAT = 304 -+ SYS_SIGNALFD = 305 -+ SYS_TIMERFD_CREATE = 306 -+ SYS_EVENTFD = 307 -+ SYS_SYNC_FILE_RANGE2 = 308 -+ SYS_FALLOCATE = 309 -+ SYS_SUBPAGE_PROT = 310 -+ SYS_TIMERFD_SETTIME = 311 -+ SYS_TIMERFD_GETTIME = 312 -+ SYS_SIGNALFD4 = 313 -+ SYS_EVENTFD2 = 314 -+ SYS_EPOLL_CREATE1 = 315 -+ SYS_DUP3 = 316 -+ SYS_PIPE2 = 317 -+ SYS_INOTIFY_INIT1 = 318 -+ SYS_PERF_EVENT_OPEN = 319 -+ SYS_PREADV = 320 -+ SYS_PWRITEV = 321 -+ SYS_RT_TGSIGQUEUEINFO = 322 -+ SYS_FANOTIFY_INIT = 323 -+ SYS_FANOTIFY_MARK = 324 -+ SYS_PRLIMIT64 = 325 -+ SYS_SOCKET = 326 -+ SYS_BIND = 327 -+ SYS_CONNECT = 328 -+ SYS_LISTEN = 329 -+ SYS_ACCEPT = 330 -+ SYS_GETSOCKNAME = 331 -+ SYS_GETPEERNAME = 332 -+ SYS_SOCKETPAIR = 333 -+ SYS_SEND = 334 -+ SYS_SENDTO = 335 -+ SYS_RECV = 336 -+ SYS_RECVFROM = 337 -+ SYS_SHUTDOWN = 338 -+ SYS_SETSOCKOPT = 339 -+ SYS_GETSOCKOPT = 340 -+ SYS_SENDMSG = 341 -+ SYS_RECVMSG = 342 -+ SYS_RECVMMSG = 343 -+ SYS_ACCEPT4 = 344 -+ SYS_NAME_TO_HANDLE_AT = 345 -+ SYS_OPEN_BY_HANDLE_AT = 346 -+ SYS_CLOCK_ADJTIME = 347 -+ SYS_SYNCFS = 348 -+ SYS_SENDMMSG = 349 -+ SYS_SETNS = 350 -+ SYS_PROCESS_VM_READV = 351 -+ SYS_PROCESS_VM_WRITEV = 352 -+ SYS_FINIT_MODULE = 353 -+ SYS_KCMP = 354 -+ SYS_SCHED_SETATTR = 355 -+ SYS_SCHED_GETATTR = 356 -+ SYS_RENAMEAT2 = 357 -+ SYS_SECCOMP = 358 -+ SYS_GETRANDOM = 359 -+ SYS_MEMFD_CREATE = 360 -+ SYS_BPF = 361 -+ SYS_EXECVEAT = 362 -+ SYS_SWITCH_ENDIAN = 363 -+ SYS_USERFAULTFD = 364 -+ SYS_MEMBARRIER = 365 -+ SYS_MLOCK2 = 378 -+ SYS_COPY_FILE_RANGE = 379 -+ SYS_PREADV2 = 380 -+ SYS_PWRITEV2 = 381 -+ SYS_KEXEC_FILE_LOAD = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -new file mode 100644 -index 0000000..8b35997 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -@@ -0,0 +1,331 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__s390x__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build s390x,linux -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_RESTART_SYSCALL = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_BRK = 45 -+ SYS_SIGNAL = 48 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_SETPGID = 57 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_SYMLINK = 83 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_LOOKUP_DCOOKIE = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_GETDENTS = 141 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_QUERY_MODULE = 167 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_GETPMSG = 188 -+ SYS_PUTPMSG = 189 -+ SYS_VFORK = 190 -+ SYS_PIVOT_ROOT = 217 -+ SYS_MINCORE = 218 -+ SYS_MADVISE = 219 -+ SYS_GETDENTS64 = 220 -+ SYS_READAHEAD = 222 -+ SYS_SETXATTR = 224 -+ SYS_LSETXATTR = 225 -+ SYS_FSETXATTR = 226 -+ SYS_GETXATTR = 227 -+ SYS_LGETXATTR = 228 -+ SYS_FGETXATTR = 229 -+ SYS_LISTXATTR = 230 -+ SYS_LLISTXATTR = 231 -+ SYS_FLISTXATTR = 232 -+ SYS_REMOVEXATTR = 233 -+ SYS_LREMOVEXATTR = 234 -+ SYS_FREMOVEXATTR = 235 -+ SYS_GETTID = 236 -+ SYS_TKILL = 237 -+ SYS_FUTEX = 238 -+ SYS_SCHED_SETAFFINITY = 239 -+ SYS_SCHED_GETAFFINITY = 240 -+ SYS_TGKILL = 241 -+ SYS_IO_SETUP = 243 -+ SYS_IO_DESTROY = 244 -+ SYS_IO_GETEVENTS = 245 -+ SYS_IO_SUBMIT = 246 -+ SYS_IO_CANCEL = 247 -+ SYS_EXIT_GROUP = 248 -+ SYS_EPOLL_CREATE = 249 -+ SYS_EPOLL_CTL = 250 -+ SYS_EPOLL_WAIT = 251 -+ SYS_SET_TID_ADDRESS = 252 -+ SYS_FADVISE64 = 253 -+ SYS_TIMER_CREATE = 254 -+ SYS_TIMER_SETTIME = 255 -+ SYS_TIMER_GETTIME = 256 -+ SYS_TIMER_GETOVERRUN = 257 -+ SYS_TIMER_DELETE = 258 -+ SYS_CLOCK_SETTIME = 259 -+ SYS_CLOCK_GETTIME = 260 -+ SYS_CLOCK_GETRES = 261 -+ SYS_CLOCK_NANOSLEEP = 262 -+ SYS_STATFS64 = 265 -+ SYS_FSTATFS64 = 266 -+ SYS_REMAP_FILE_PAGES = 267 -+ SYS_MBIND = 268 -+ SYS_GET_MEMPOLICY = 269 -+ SYS_SET_MEMPOLICY = 270 -+ SYS_MQ_OPEN = 271 -+ SYS_MQ_UNLINK = 272 -+ SYS_MQ_TIMEDSEND = 273 -+ SYS_MQ_TIMEDRECEIVE = 274 -+ SYS_MQ_NOTIFY = 275 -+ SYS_MQ_GETSETATTR = 276 -+ SYS_KEXEC_LOAD = 277 -+ SYS_ADD_KEY = 278 -+ SYS_REQUEST_KEY = 279 -+ SYS_KEYCTL = 280 -+ SYS_WAITID = 281 -+ SYS_IOPRIO_SET = 282 -+ SYS_IOPRIO_GET = 283 -+ SYS_INOTIFY_INIT = 284 -+ SYS_INOTIFY_ADD_WATCH = 285 -+ SYS_INOTIFY_RM_WATCH = 286 -+ SYS_MIGRATE_PAGES = 287 -+ SYS_OPENAT = 288 -+ SYS_MKDIRAT = 289 -+ SYS_MKNODAT = 290 -+ SYS_FCHOWNAT = 291 -+ SYS_FUTIMESAT = 292 -+ SYS_UNLINKAT = 294 -+ SYS_RENAMEAT = 295 -+ SYS_LINKAT = 296 -+ SYS_SYMLINKAT = 297 -+ SYS_READLINKAT = 298 -+ SYS_FCHMODAT = 299 -+ SYS_FACCESSAT = 300 -+ SYS_PSELECT6 = 301 -+ SYS_PPOLL = 302 -+ SYS_UNSHARE = 303 -+ SYS_SET_ROBUST_LIST = 304 -+ SYS_GET_ROBUST_LIST = 305 -+ SYS_SPLICE = 306 -+ SYS_SYNC_FILE_RANGE = 307 -+ SYS_TEE = 308 -+ SYS_VMSPLICE = 309 -+ SYS_MOVE_PAGES = 310 -+ SYS_GETCPU = 311 -+ SYS_EPOLL_PWAIT = 312 -+ SYS_UTIMES = 313 -+ SYS_FALLOCATE = 314 -+ SYS_UTIMENSAT = 315 -+ SYS_SIGNALFD = 316 -+ SYS_TIMERFD = 317 -+ SYS_EVENTFD = 318 -+ SYS_TIMERFD_CREATE = 319 -+ SYS_TIMERFD_SETTIME = 320 -+ SYS_TIMERFD_GETTIME = 321 -+ SYS_SIGNALFD4 = 322 -+ SYS_EVENTFD2 = 323 -+ SYS_INOTIFY_INIT1 = 324 -+ SYS_PIPE2 = 325 -+ SYS_DUP3 = 326 -+ SYS_EPOLL_CREATE1 = 327 -+ SYS_PREADV = 328 -+ SYS_PWRITEV = 329 -+ SYS_RT_TGSIGQUEUEINFO = 330 -+ SYS_PERF_EVENT_OPEN = 331 -+ SYS_FANOTIFY_INIT = 332 -+ SYS_FANOTIFY_MARK = 333 -+ SYS_PRLIMIT64 = 334 -+ SYS_NAME_TO_HANDLE_AT = 335 -+ SYS_OPEN_BY_HANDLE_AT = 336 -+ SYS_CLOCK_ADJTIME = 337 -+ SYS_SYNCFS = 338 -+ SYS_SETNS = 339 -+ SYS_PROCESS_VM_READV = 340 -+ SYS_PROCESS_VM_WRITEV = 341 -+ SYS_S390_RUNTIME_INSTR = 342 -+ SYS_KCMP = 343 -+ SYS_FINIT_MODULE = 344 -+ SYS_SCHED_SETATTR = 345 -+ SYS_SCHED_GETATTR = 346 -+ SYS_RENAMEAT2 = 347 -+ SYS_SECCOMP = 348 -+ SYS_GETRANDOM = 349 -+ SYS_MEMFD_CREATE = 350 -+ SYS_BPF = 351 -+ SYS_S390_PCI_MMIO_WRITE = 352 -+ SYS_S390_PCI_MMIO_READ = 353 -+ SYS_EXECVEAT = 354 -+ SYS_USERFAULTFD = 355 -+ SYS_MEMBARRIER = 356 -+ SYS_RECVMMSG = 357 -+ SYS_SENDMMSG = 358 -+ SYS_SOCKET = 359 -+ SYS_SOCKETPAIR = 360 -+ SYS_BIND = 361 -+ SYS_CONNECT = 362 -+ SYS_LISTEN = 363 -+ SYS_ACCEPT4 = 364 -+ SYS_GETSOCKOPT = 365 -+ SYS_SETSOCKOPT = 366 -+ SYS_GETSOCKNAME = 367 -+ SYS_GETPEERNAME = 368 -+ SYS_SENDTO = 369 -+ SYS_SENDMSG = 370 -+ SYS_RECVFROM = 371 -+ SYS_RECVMSG = 372 -+ SYS_SHUTDOWN = 373 -+ SYS_MLOCK2 = 374 -+ SYS_COPY_FILE_RANGE = 375 -+ SYS_PREADV2 = 376 -+ SYS_PWRITEV2 = 377 -+ SYS_SELECT = 142 -+ SYS_GETRLIMIT = 191 -+ SYS_LCHOWN = 198 -+ SYS_GETUID = 199 -+ SYS_GETGID = 200 -+ SYS_GETEUID = 201 -+ SYS_GETEGID = 202 -+ SYS_SETREUID = 203 -+ SYS_SETREGID = 204 -+ SYS_GETGROUPS = 205 -+ SYS_SETGROUPS = 206 -+ SYS_FCHOWN = 207 -+ SYS_SETRESUID = 208 -+ SYS_GETRESUID = 209 -+ SYS_SETRESGID = 210 -+ SYS_GETRESGID = 211 -+ SYS_CHOWN = 212 -+ SYS_SETUID = 213 -+ SYS_SETGID = 214 -+ SYS_SETFSUID = 215 -+ SYS_SETFSGID = 216 -+ SYS_NEWFSTATAT = 293 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -new file mode 100644 -index 0000000..c9c129d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -@@ -0,0 +1,348 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build sparc64,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECV = 11 -+ SYS_CHDIR = 12 -+ SYS_CHOWN = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BRK = 17 -+ SYS_PERFCTR = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_CAPGET = 21 -+ SYS_CAPSET = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_VMSPLICE = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_SIGALTSTACK = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_STAT = 38 -+ SYS_SENDFILE = 39 -+ SYS_LSTAT = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_UMOUNT2 = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_MEMORY_ORDERING = 52 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_FSTAT = 62 -+ SYS_FSTAT64 = 63 -+ SYS_GETPAGESIZE = 64 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_MMAP = 71 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_VHANGUP = 76 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_SETHOSTNAME = 88 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_ACCEPT = 99 -+ SYS_GETPRIORITY = 100 -+ SYS_RT_SIGRETURN = 101 -+ SYS_RT_SIGACTION = 102 -+ SYS_RT_SIGPROCMASK = 103 -+ SYS_RT_SIGPENDING = 104 -+ SYS_RT_SIGTIMEDWAIT = 105 -+ SYS_RT_SIGQUEUEINFO = 106 -+ SYS_RT_SIGSUSPEND = 107 -+ SYS_SETRESUID = 108 -+ SYS_GETRESUID = 109 -+ SYS_SETRESGID = 110 -+ SYS_GETRESGID = 111 -+ SYS_RECVMSG = 113 -+ SYS_SENDMSG = 114 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_GETCWD = 119 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_RECVFROM = 125 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_TRUNCATE = 129 -+ SYS_FTRUNCATE = 130 -+ SYS_FLOCK = 131 -+ SYS_LSTAT64 = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_STAT64 = 139 -+ SYS_SENDFILE64 = 140 -+ SYS_GETPEERNAME = 141 -+ SYS_FUTEX = 142 -+ SYS_GETTID = 143 -+ SYS_GETRLIMIT = 144 -+ SYS_SETRLIMIT = 145 -+ SYS_PIVOT_ROOT = 146 -+ SYS_PRCTL = 147 -+ SYS_PCICONFIG_READ = 148 -+ SYS_PCICONFIG_WRITE = 149 -+ SYS_GETSOCKNAME = 150 -+ SYS_INOTIFY_INIT = 151 -+ SYS_INOTIFY_ADD_WATCH = 152 -+ SYS_POLL = 153 -+ SYS_GETDENTS64 = 154 -+ SYS_INOTIFY_RM_WATCH = 156 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UMOUNT = 159 -+ SYS_SCHED_SET_AFFINITY = 160 -+ SYS_SCHED_GET_AFFINITY = 161 -+ SYS_GETDOMAINNAME = 162 -+ SYS_SETDOMAINNAME = 163 -+ SYS_UTRAP_INSTALL = 164 -+ SYS_QUOTACTL = 165 -+ SYS_SET_TID_ADDRESS = 166 -+ SYS_MOUNT = 167 -+ SYS_USTAT = 168 -+ SYS_SETXATTR = 169 -+ SYS_LSETXATTR = 170 -+ SYS_FSETXATTR = 171 -+ SYS_GETXATTR = 172 -+ SYS_LGETXATTR = 173 -+ SYS_GETDENTS = 174 -+ SYS_SETSID = 175 -+ SYS_FCHDIR = 176 -+ SYS_FGETXATTR = 177 -+ SYS_LISTXATTR = 178 -+ SYS_LLISTXATTR = 179 -+ SYS_FLISTXATTR = 180 -+ SYS_REMOVEXATTR = 181 -+ SYS_LREMOVEXATTR = 182 -+ SYS_SIGPENDING = 183 -+ SYS_QUERY_MODULE = 184 -+ SYS_SETPGID = 185 -+ SYS_FREMOVEXATTR = 186 -+ SYS_TKILL = 187 -+ SYS_EXIT_GROUP = 188 -+ SYS_UNAME = 189 -+ SYS_INIT_MODULE = 190 -+ SYS_PERSONALITY = 191 -+ SYS_REMAP_FILE_PAGES = 192 -+ SYS_EPOLL_CREATE = 193 -+ SYS_EPOLL_CTL = 194 -+ SYS_EPOLL_WAIT = 195 -+ SYS_IOPRIO_SET = 196 -+ SYS_GETPPID = 197 -+ SYS_SIGACTION = 198 -+ SYS_SGETMASK = 199 -+ SYS_SSETMASK = 200 -+ SYS_SIGSUSPEND = 201 -+ SYS_OLDLSTAT = 202 -+ SYS_USELIB = 203 -+ SYS_READDIR = 204 -+ SYS_READAHEAD = 205 -+ SYS_SOCKETCALL = 206 -+ SYS_SYSLOG = 207 -+ SYS_LOOKUP_DCOOKIE = 208 -+ SYS_FADVISE64 = 209 -+ SYS_FADVISE64_64 = 210 -+ SYS_TGKILL = 211 -+ SYS_WAITPID = 212 -+ SYS_SWAPOFF = 213 -+ SYS_SYSINFO = 214 -+ SYS_IPC = 215 -+ SYS_SIGRETURN = 216 -+ SYS_CLONE = 217 -+ SYS_IOPRIO_GET = 218 -+ SYS_ADJTIMEX = 219 -+ SYS_SIGPROCMASK = 220 -+ SYS_CREATE_MODULE = 221 -+ SYS_DELETE_MODULE = 222 -+ SYS_GET_KERNEL_SYMS = 223 -+ SYS_GETPGID = 224 -+ SYS_BDFLUSH = 225 -+ SYS_SYSFS = 226 -+ SYS_AFS_SYSCALL = 227 -+ SYS_SETFSUID = 228 -+ SYS_SETFSGID = 229 -+ SYS__NEWSELECT = 230 -+ SYS_SPLICE = 232 -+ SYS_STIME = 233 -+ SYS_STATFS64 = 234 -+ SYS_FSTATFS64 = 235 -+ SYS__LLSEEK = 236 -+ SYS_MLOCK = 237 -+ SYS_MUNLOCK = 238 -+ SYS_MLOCKALL = 239 -+ SYS_MUNLOCKALL = 240 -+ SYS_SCHED_SETPARAM = 241 -+ SYS_SCHED_GETPARAM = 242 -+ SYS_SCHED_SETSCHEDULER = 243 -+ SYS_SCHED_GETSCHEDULER = 244 -+ SYS_SCHED_YIELD = 245 -+ SYS_SCHED_GET_PRIORITY_MAX = 246 -+ SYS_SCHED_GET_PRIORITY_MIN = 247 -+ SYS_SCHED_RR_GET_INTERVAL = 248 -+ SYS_NANOSLEEP = 249 -+ SYS_MREMAP = 250 -+ SYS__SYSCTL = 251 -+ SYS_GETSID = 252 -+ SYS_FDATASYNC = 253 -+ SYS_NFSSERVCTL = 254 -+ SYS_SYNC_FILE_RANGE = 255 -+ SYS_CLOCK_SETTIME = 256 -+ SYS_CLOCK_GETTIME = 257 -+ SYS_CLOCK_GETRES = 258 -+ SYS_CLOCK_NANOSLEEP = 259 -+ SYS_SCHED_GETAFFINITY = 260 -+ SYS_SCHED_SETAFFINITY = 261 -+ SYS_TIMER_SETTIME = 262 -+ SYS_TIMER_GETTIME = 263 -+ SYS_TIMER_GETOVERRUN = 264 -+ SYS_TIMER_DELETE = 265 -+ SYS_TIMER_CREATE = 266 -+ SYS_IO_SETUP = 268 -+ SYS_IO_DESTROY = 269 -+ SYS_IO_SUBMIT = 270 -+ SYS_IO_CANCEL = 271 -+ SYS_IO_GETEVENTS = 272 -+ SYS_MQ_OPEN = 273 -+ SYS_MQ_UNLINK = 274 -+ SYS_MQ_TIMEDSEND = 275 -+ SYS_MQ_TIMEDRECEIVE = 276 -+ SYS_MQ_NOTIFY = 277 -+ SYS_MQ_GETSETATTR = 278 -+ SYS_WAITID = 279 -+ SYS_TEE = 280 -+ SYS_ADD_KEY = 281 -+ SYS_REQUEST_KEY = 282 -+ SYS_KEYCTL = 283 -+ SYS_OPENAT = 284 -+ SYS_MKDIRAT = 285 -+ SYS_MKNODAT = 286 -+ SYS_FCHOWNAT = 287 -+ SYS_FUTIMESAT = 288 -+ SYS_FSTATAT64 = 289 -+ SYS_UNLINKAT = 290 -+ SYS_RENAMEAT = 291 -+ SYS_LINKAT = 292 -+ SYS_SYMLINKAT = 293 -+ SYS_READLINKAT = 294 -+ SYS_FCHMODAT = 295 -+ SYS_FACCESSAT = 296 -+ SYS_PSELECT6 = 297 -+ SYS_PPOLL = 298 -+ SYS_UNSHARE = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_GET_ROBUST_LIST = 301 -+ SYS_MIGRATE_PAGES = 302 -+ SYS_MBIND = 303 -+ SYS_GET_MEMPOLICY = 304 -+ SYS_SET_MEMPOLICY = 305 -+ SYS_KEXEC_LOAD = 306 -+ SYS_MOVE_PAGES = 307 -+ SYS_GETCPU = 308 -+ SYS_EPOLL_PWAIT = 309 -+ SYS_UTIMENSAT = 310 -+ SYS_SIGNALFD = 311 -+ SYS_TIMERFD_CREATE = 312 -+ SYS_EVENTFD = 313 -+ SYS_FALLOCATE = 314 -+ SYS_TIMERFD_SETTIME = 315 -+ SYS_TIMERFD_GETTIME = 316 -+ SYS_SIGNALFD4 = 317 -+ SYS_EVENTFD2 = 318 -+ SYS_EPOLL_CREATE1 = 319 -+ SYS_DUP3 = 320 -+ SYS_PIPE2 = 321 -+ SYS_INOTIFY_INIT1 = 322 -+ SYS_ACCEPT4 = 323 -+ SYS_PREADV = 324 -+ SYS_PWRITEV = 325 -+ SYS_RT_TGSIGQUEUEINFO = 326 -+ SYS_PERF_EVENT_OPEN = 327 -+ SYS_RECVMMSG = 328 -+ SYS_FANOTIFY_INIT = 329 -+ SYS_FANOTIFY_MARK = 330 -+ SYS_PRLIMIT64 = 331 -+ SYS_NAME_TO_HANDLE_AT = 332 -+ SYS_OPEN_BY_HANDLE_AT = 333 -+ SYS_CLOCK_ADJTIME = 334 -+ SYS_SYNCFS = 335 -+ SYS_SENDMMSG = 336 -+ SYS_SETNS = 337 -+ SYS_PROCESS_VM_READV = 338 -+ SYS_PROCESS_VM_WRITEV = 339 -+ SYS_KERN_FEATURES = 340 -+ SYS_KCMP = 341 -+ SYS_FINIT_MODULE = 342 -+ SYS_SCHED_SETATTR = 343 -+ SYS_SCHED_GETATTR = 344 -+ SYS_RENAMEAT2 = 345 -+ SYS_SECCOMP = 346 -+ SYS_GETRANDOM = 347 -+ SYS_MEMFD_CREATE = 348 -+ SYS_BPF = 349 -+ SYS_EXECVEAT = 350 -+ SYS_MEMBARRIER = 351 -+ SYS_USERFAULTFD = 352 -+ SYS_BIND = 353 -+ SYS_LISTEN = 354 -+ SYS_SETSOCKOPT = 355 -+ SYS_MLOCK2 = 356 -+ SYS_COPY_FILE_RANGE = 357 -+ SYS_PREADV2 = 358 -+ SYS_PWRITEV2 = 359 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go -new file mode 100644 -index 0000000..f60d8f9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go -new file mode 100644 -index 0000000..48a91d4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go -new file mode 100644 -index 0000000..612ba66 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go -new file mode 100644 -index 0000000..3e8ce2a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go -@@ -0,0 +1,207 @@ -+// mksysnum_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,openbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void sys_exit(int rval); } -+ SYS_FORK = 2 // { int sys_fork(void); } -+ SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int sys_open(const char *path, \ -+ SYS_CLOSE = 6 // { int sys_close(int fd); } -+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ -+ SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int sys_unlink(const char *path); } -+ SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ -+ SYS_CHDIR = 12 // { int sys_chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } -+ SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ -+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ -+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break -+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } -+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ -+ SYS_GETPID = 20 // { pid_t sys_getpid(void); } -+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ -+ SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t sys_getuid(void); } -+ SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } -+ SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ -+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ -+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ -+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ -+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } -+ SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } -+ SYS_SYNC = 36 // { void sys_sync(void); } -+ SYS_KILL = 37 // { int sys_kill(int pid, int signum); } -+ SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } -+ SYS_GETPPID = 39 // { pid_t sys_getppid(void); } -+ SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } -+ SYS_DUP = 41 // { int sys_dup(int fd); } -+ SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ -+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); } -+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ -+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ -+ SYS_GETGID = 47 // { gid_t sys_getgid(void); } -+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } -+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int sys_acct(const char *path); } -+ SYS_SIGPENDING = 52 // { int sys_sigpending(void); } -+ SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } -+ SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ -+ SYS_REBOOT = 55 // { int sys_reboot(int opt); } -+ SYS_REVOKE = 56 // { int sys_revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ -+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \ -+ SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int sys_chroot(const char *path); } -+ SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ -+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \ -+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ -+ SYS_VFORK = 66 // { int sys_vfork(void); } -+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ -+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ -+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ -+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ -+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \ -+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ -+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ -+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ -+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); } -+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } -+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ -+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ -+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ -+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } -+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ -+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } -+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ -+ SYS_FSYNC = 95 // { int sys_fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } -+ SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ -+ SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } -+ SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } -+ SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } -+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ -+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } -+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ -+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } -+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \ -+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ -+ SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ -+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } -+ SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ -+ SYS_SETSID = 147 // { int sys_setsid(void); } -+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ -+ SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } -+ SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } -+ SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ -+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ -+ SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } -+ SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } -+ SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ -+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ -+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ -+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ -+ SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } -+ SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } -+ SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ -+ SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } -+ SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } -+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ -+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int sys_issetugid(void); } -+ SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } -+ SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } -+ SYS_PIPE = 263 // { int sys_pipe(int *fdp); } -+ SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } -+ SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ -+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ -+ SYS_KQUEUE = 269 // { int sys_kqueue(void); } -+ SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } -+ SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } -+ SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ -+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ -+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ -+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } -+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ -+ SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } -+ SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ -+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ -+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ -+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ -+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ -+ SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } -+ SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } -+ SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ -+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } -+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ -+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } -+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ -+ SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } -+ SYS_GETRTABLE = 311 // { int sys_getrtable(void); } -+ SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ -+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ -+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ -+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ -+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ -+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ -+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ -+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ -+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ -+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ -+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ -+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ -+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } -+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go -new file mode 100644 -index 0000000..bd28146 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go -@@ -0,0 +1,207 @@ -+// mksysnum_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,openbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void sys_exit(int rval); } -+ SYS_FORK = 2 // { int sys_fork(void); } -+ SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int sys_open(const char *path, \ -+ SYS_CLOSE = 6 // { int sys_close(int fd); } -+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ -+ SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int sys_unlink(const char *path); } -+ SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ -+ SYS_CHDIR = 12 // { int sys_chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } -+ SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ -+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ -+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break -+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } -+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ -+ SYS_GETPID = 20 // { pid_t sys_getpid(void); } -+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ -+ SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t sys_getuid(void); } -+ SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } -+ SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ -+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ -+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ -+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ -+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } -+ SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } -+ SYS_SYNC = 36 // { void sys_sync(void); } -+ SYS_KILL = 37 // { int sys_kill(int pid, int signum); } -+ SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } -+ SYS_GETPPID = 39 // { pid_t sys_getppid(void); } -+ SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } -+ SYS_DUP = 41 // { int sys_dup(int fd); } -+ SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ -+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); } -+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ -+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ -+ SYS_GETGID = 47 // { gid_t sys_getgid(void); } -+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } -+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int sys_acct(const char *path); } -+ SYS_SIGPENDING = 52 // { int sys_sigpending(void); } -+ SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } -+ SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ -+ SYS_REBOOT = 55 // { int sys_reboot(int opt); } -+ SYS_REVOKE = 56 // { int sys_revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ -+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \ -+ SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int sys_chroot(const char *path); } -+ SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ -+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \ -+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ -+ SYS_VFORK = 66 // { int sys_vfork(void); } -+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ -+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ -+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ -+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ -+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \ -+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ -+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ -+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ -+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); } -+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } -+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ -+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ -+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ -+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } -+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ -+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } -+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ -+ SYS_FSYNC = 95 // { int sys_fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } -+ SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ -+ SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } -+ SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } -+ SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } -+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ -+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } -+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ -+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } -+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \ -+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ -+ SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ -+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } -+ SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ -+ SYS_SETSID = 147 // { int sys_setsid(void); } -+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ -+ SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } -+ SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } -+ SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ -+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ -+ SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } -+ SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } -+ SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ -+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ -+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ -+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ -+ SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } -+ SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } -+ SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ -+ SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } -+ SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } -+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ -+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int sys_issetugid(void); } -+ SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } -+ SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } -+ SYS_PIPE = 263 // { int sys_pipe(int *fdp); } -+ SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } -+ SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ -+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ -+ SYS_KQUEUE = 269 // { int sys_kqueue(void); } -+ SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } -+ SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } -+ SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ -+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ -+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ -+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } -+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ -+ SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } -+ SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ -+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ -+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ -+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ -+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ -+ SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } -+ SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } -+ SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ -+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } -+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ -+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } -+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ -+ SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } -+ SYS_GETRTABLE = 311 // { int sys_getrtable(void); } -+ SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ -+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ -+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ -+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ -+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ -+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ -+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ -+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ -+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ -+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ -+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ -+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ -+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } -+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go -new file mode 100644 -index 0000000..c708659 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go -@@ -0,0 +1,13 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,solaris -+ -+package unix -+ -+// TODO(aram): remove these before Go 1.3. -+const ( -+ SYS_EXECVE = 59 -+ SYS_FCNTL = 62 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go -new file mode 100644 -index 0000000..2de1d44 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go -@@ -0,0 +1,447 @@ -+// +build 386,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timeval32 struct{} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint32 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Contigbytes int64 -+ Devoffset int64 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go -new file mode 100644 -index 0000000..0446578 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go -@@ -0,0 +1,462 @@ -+// +build amd64,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Pad_cgo_0 [4]byte -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint64 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Pad_cgo_0 [8]byte -+ Pad_cgo_1 [8]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval32 -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval32 -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint64 -+ Oflag uint64 -+ Cflag uint64 -+ Lflag uint64 -+ Cc [20]uint8 -+ Pad_cgo_0 [4]byte -+ Ispeed uint64 -+ Ospeed uint64 -+} -+ -+const ( -+ AT_FDCWD = -0x2 -+ AT_SYMLINK_NOFOLLOW = 0x20 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go -new file mode 100644 -index 0000000..66df363 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go -@@ -0,0 +1,449 @@ -+// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+// +build arm,darwin -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timeval32 [0]byte -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint32 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Contigbytes int64 -+ Devoffset int64 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go -new file mode 100644 -index 0000000..85d56ea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go -@@ -0,0 +1,457 @@ -+// +build arm64,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Pad_cgo_0 [4]byte -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint64 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Pad_cgo_0 [8]byte -+ Pad_cgo_1 [8]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval32 -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval32 -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint64 -+ Oflag uint64 -+ Cflag uint64 -+ Lflag uint64 -+ Cc [20]uint8 -+ Pad_cgo_0 [4]byte -+ Ispeed uint64 -+ Ospeed uint64 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go -new file mode 100644 -index 0000000..8a6f4e1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go -@@ -0,0 +1,443 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_dragonfly.go -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Ino uint64 -+ Nlink uint32 -+ Dev uint32 -+ Mode uint16 -+ Padding1 uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare1 int64 -+ Qspare2 int64 -+} -+ -+type Statfs_t struct { -+ Spare2 int64 -+ Bsize int64 -+ Iosize int64 -+ Blocks int64 -+ Bfree int64 -+ Bavail int64 -+ Files int64 -+ Ffree int64 -+ Fsid Fsid -+ Owner uint32 -+ Type int32 -+ Flags int32 -+ Pad_cgo_0 [4]byte -+ Syncwrites int64 -+ Asyncwrites int64 -+ Fstypename [16]int8 -+ Mntonname [80]int8 -+ Syncreads int64 -+ Asyncreads int64 -+ Spares1 int16 -+ Mntfromname [80]int8 -+ Spares2 int16 -+ Pad_cgo_1 [4]byte -+ Spare [2]int64 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Namlen uint16 -+ Type uint8 -+ Unused1 uint8 -+ Unused2 uint32 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ Rcf uint16 -+ Route [16]uint16 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [16]uint64 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xb0 -+ SizeofIfData = 0xa0 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x98 -+ SizeofRtMetrics = 0x70 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Pad_cgo_0 [2]byte -+ Mtu uint64 -+ Metric uint64 -+ Link_state uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Unused uint64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint64 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Pksent uint64 -+ Expire uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Recvpipe uint64 -+ Hopcount uint64 -+ Mssopt uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Msl uint64 -+ Iwmaxsegs uint64 -+ Iwcapsegs uint64 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go -new file mode 100644 -index 0000000..8cf3094 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go -@@ -0,0 +1,502 @@ -+// +build 386,freebsd -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_freebsd.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+ Pad_cgo_0 [8]byte -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [32]uint32 -+} -+ -+const ( -+ sizeofIfMsghdr = 0x64 -+ SizeofIfMsghdr = 0x60 -+ sizeofIfData = 0x54 -+ SizeofIfData = 0x50 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint64 -+ Epoch int32 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint32 -+ Epoch int32 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Weight uint32 -+ Filler [3]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0xc -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go -new file mode 100644 -index 0000000..e5feb20 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go -@@ -0,0 +1,505 @@ -+// +build amd64,freebsd -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_freebsd.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [16]uint64 -+} -+ -+const ( -+ sizeofIfMsghdr = 0xa8 -+ SizeofIfMsghdr = 0xa8 -+ sizeofIfData = 0x98 -+ SizeofIfData = 0x98 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x98 -+ SizeofRtMetrics = 0x70 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint64 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Expire uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Pksent uint64 -+ Weight uint64 -+ Filler [3]uint64 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0x18 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go -new file mode 100644 -index 0000000..5472b54 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go -@@ -0,0 +1,497 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_freebsd.go -+ -+// +build arm,freebsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [32]uint32 -+} -+ -+const ( -+ sizeofIfMsghdr = 0x70 -+ SizeofIfMsghdr = 0x70 -+ sizeofIfData = 0x60 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint32 -+ Pad_cgo_0 [4]byte -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Weight uint32 -+ Filler [3]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0xc -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -new file mode 100644 -index 0000000..99dfd58 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -@@ -0,0 +1,653 @@ -+// +build 386,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [2]byte -+ X__st_ino uint32 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [2]byte -+ Size int64 -+ Blksize int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Ino uint64 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int32 -+ Frsize int32 -+ Flags int32 -+ Spare [4]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Start int64 -+ Len int64 -+ Pid int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Ebx int32 -+ Ecx int32 -+ Edx int32 -+ Esi int32 -+ Edi int32 -+ Ebp int32 -+ Eax int32 -+ Xds int32 -+ Xes int32 -+ Xfs int32 -+ Xgs int32 -+ Orig_eax int32 -+ Eip int32 -+ Xcs int32 -+ Eflags int32 -+ Esp int32 -+ Xss int32 -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -new file mode 100644 -index 0000000..c9e1e64 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -@@ -0,0 +1,671 @@ -+// +build amd64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad0 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__unused [3]int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ R15 uint64 -+ R14 uint64 -+ R13 uint64 -+ R12 uint64 -+ Rbp uint64 -+ Rbx uint64 -+ R11 uint64 -+ R10 uint64 -+ R9 uint64 -+ R8 uint64 -+ Rax uint64 -+ Rcx uint64 -+ Rdx uint64 -+ Rsi uint64 -+ Rdi uint64 -+ Orig_rax uint64 -+ Rip uint64 -+ Cs uint64 -+ Eflags uint64 -+ Rsp uint64 -+ Ss uint64 -+ Fs_base uint64 -+ Gs_base uint64 -+ Ds uint64 -+ Es uint64 -+ Fs uint64 -+ Gs uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -new file mode 100644 -index 0000000..4bfba2a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -@@ -0,0 +1,642 @@ -+// +build arm,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [2]byte -+ X__st_ino uint32 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [6]byte -+ Size int64 -+ Blksize int32 -+ Pad_cgo_2 [4]byte -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Ino uint64 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int32 -+ Frsize int32 -+ Flags int32 -+ Spare [4]int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Uregs [18]uint32 -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]uint8 -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -new file mode 100644 -index 0000000..e58c500 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -@@ -0,0 +1,650 @@ -+// +build arm64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad1 uint64 -+ Size int64 -+ Blksize int32 -+ X__pad2 int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved [2]int32 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x22 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [31]uint64 -+ Sp uint64 -+ Pc uint64 -+ Pstate uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -new file mode 100644 -index 0000000..a960085 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -@@ -0,0 +1,660 @@ -+// +build mips,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]int32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad4 int32 -+ Blocks int64 -+ Pad5 [14]int32 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Frsize int32 -+ Pad_cgo_0 [4]byte -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int32 -+ Flags int32 -+ Spare [5]int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [109]uint32 -+ U_tsize uint32 -+ U_dsize uint32 -+ U_ssize uint32 -+ Start_code uint32 -+ Start_data uint32 -+ Start_stack uint32 -+ Signal int32 -+ U_ar0 *byte -+ Magic uint32 -+ U_comm [32]int8 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [32]uint32 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [23]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -new file mode 100644 -index 0000000..9d46a62 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -@@ -0,0 +1,653 @@ -+// +build mips64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]uint32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize uint32 -+ Pad4 uint32 -+ Blocks int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Frsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int64 -+ Flags int64 -+ Spare [5]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [102]uint64 -+ U_tsize uint64 -+ U_dsize uint64 -+ U_ssize uint64 -+ Start_code uint64 -+ Start_data uint64 -+ Start_stack uint64 -+ Signal int64 -+ U_ar0 uint64 -+ Magic uint64 -+ U_comm [32]int8 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [32]uint8 -+ Pad_cgo_0 [3]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -new file mode 100644 -index 0000000..267bfe9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -@@ -0,0 +1,653 @@ -+// +build mips64le,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]uint32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize uint32 -+ Pad4 uint32 -+ Blocks int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Frsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int64 -+ Flags int64 -+ Spare [5]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [102]uint64 -+ U_tsize uint64 -+ U_dsize uint64 -+ U_ssize uint64 -+ Start_code uint64 -+ Start_data uint64 -+ Start_stack uint64 -+ Signal int64 -+ U_ar0 uint64 -+ Magic uint64 -+ U_comm [32]int8 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [32]uint8 -+ Pad_cgo_0 [3]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -new file mode 100644 -index 0000000..950515a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -@@ -0,0 +1,660 @@ -+// +build mipsle,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]int32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad4 int32 -+ Blocks int64 -+ Pad5 [14]int32 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Frsize int32 -+ Pad_cgo_0 [4]byte -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int32 -+ Flags int32 -+ Spare [5]int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x2a -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [109]uint32 -+ U_tsize uint32 -+ U_dsize uint32 -+ U_ssize uint32 -+ Start_code uint32 -+ Start_data uint32 -+ Start_stack uint32 -+ Signal int32 -+ U_ar0 *byte -+ Magic uint32 -+ U_comm [32]int8 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [32]uint32 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [23]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -new file mode 100644 -index 0000000..88538cb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -@@ -0,0 +1,660 @@ -+// +build ppc64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad2 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+ X__glibc_reserved6 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x23 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Gpr [32]uint64 -+ Nip uint64 -+ Msr uint64 -+ Orig_gpr3 uint64 -+ Ctr uint64 -+ Link uint64 -+ Xer uint64 -+ Ccr uint64 -+ Softe uint64 -+ Trap uint64 -+ Dar uint64 -+ Dsisr uint64 -+ Result uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Line uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -new file mode 100644 -index 0000000..2f63bc0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -@@ -0,0 +1,660 @@ -+// +build ppc64le,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad2 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+ X__glibc_reserved6 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x22 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Gpr [32]uint64 -+ Nip uint64 -+ Msr uint64 -+ Orig_gpr3 uint64 -+ Ctr uint64 -+ Link uint64 -+ Xer uint64 -+ Ccr uint64 -+ Softe uint64 -+ Trap uint64 -+ Dar uint64 -+ Dsisr uint64 -+ Result uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Line uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -new file mode 100644 -index 0000000..2c5bb05 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -@@ -0,0 +1,675 @@ -+// +build s390x,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ _ [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ _ [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ _ [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ _ [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ _ int32 -+ Rdev uint64 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int64 -+ Blocks int64 -+ _ [3]int64 -+} -+ -+type Statfs_t struct { -+ Type uint32 -+ Bsize uint32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen uint32 -+ Frsize uint32 -+ Flags uint32 -+ Spare [4]uint32 -+ _ [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ _ [5]byte -+} -+ -+type Fsid struct { -+ _ [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ _ [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ _ [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x6 -+ FADV_NOREUSE = 0x7 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ _ [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ _ [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ _ [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ _ uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ _ [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Psw PtracePsw -+ Gprs [16]uint64 -+ Acrs [16]uint32 -+ Orig_gpr2 uint64 -+ Fp_regs PtraceFpregs -+ Per_info PtracePer -+ Ieee_instruction_pointer uint64 -+} -+ -+type PtracePsw struct { -+ Mask uint64 -+ Addr uint64 -+} -+ -+type PtraceFpregs struct { -+ Fpc uint32 -+ _ [4]byte -+ Fprs [16]float64 -+} -+ -+type PtracePer struct { -+ _ [0]uint64 -+ _ [24]byte -+ _ [8]byte -+ Starting_addr uint64 -+ Ending_addr uint64 -+ Perc_atmid uint16 -+ _ [6]byte -+ Address uint64 -+ Access_id uint8 -+ _ [7]byte -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ _ [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ _ [0]int8 -+ _ [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ _ [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ _ [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ _ int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -new file mode 100644 -index 0000000..22bdab9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -@@ -0,0 +1,666 @@ -+// +build sparc64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [6]byte -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [6]byte -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ X__glibc_reserved int16 -+ Pad_cgo_1 [2]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x2a -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [16]uint64 -+ Tstate uint64 -+ Tpc uint64 -+ Tnpc uint64 -+ Y uint32 -+ Magic uint32 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x800 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go -new file mode 100644 -index 0000000..caf755f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go -@@ -0,0 +1,396 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build 386,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Data int64 -+ Udata int32 -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x84 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+ Pad_cgo_1 [4]byte -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go -new file mode 100644 -index 0000000..91b4a53 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go -@@ -0,0 +1,403 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build amd64,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Pad_cgo_0 [4]byte -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Pad_cgo_1 [4]byte -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Pad_cgo_0 [4]byte -+ Data int64 -+ Udata int64 -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x88 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfTimeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go -new file mode 100644 -index 0000000..c0758f9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go -@@ -0,0 +1,401 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build arm,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Pad_cgo_0 [4]byte -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Pad_cgo_1 [4]byte -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Data int64 -+ Udata int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x88 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go -new file mode 100644 -index 0000000..860a469 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go -@@ -0,0 +1,441 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_openbsd.go -+ -+// +build 386,openbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Mode uint32 -+ Dev int32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ X__st_birthtim Timespec -+} -+ -+type Statfs_t struct { -+ F_flags uint32 -+ F_bsize uint32 -+ F_iosize uint32 -+ F_blocks uint64 -+ F_bfree uint64 -+ F_bavail int64 -+ F_files uint64 -+ F_ffree uint64 -+ F_favail int64 -+ F_syncwrites uint64 -+ F_syncreads uint64 -+ F_asyncwrites uint64 -+ F_asyncreads uint64 -+ F_fsid Fsid -+ F_namemax uint32 -+ F_owner uint32 -+ F_ctime uint64 -+ F_fstypename [16]int8 -+ F_mntonname [90]int8 -+ F_mntfromname [90]int8 -+ F_mntfromspec [90]int8 -+ Pad_cgo_0 [2]byte -+ Mount_info [160]byte -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ X__d_padding [4]uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x20 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xec -+ SizeofIfData = 0xd4 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x1a -+ SizeofRtMsghdr = 0x60 -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Xflags int32 -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Mtu uint32 -+ Metric uint32 -+ Pad uint32 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Capabilities uint32 -+ Lastchange Timeval -+ Mclpool [7]Mclpool -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ What uint16 -+ Name [16]int8 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Priority uint8 -+ Mpls uint8 -+ Addrs int32 -+ Flags int32 -+ Fmask int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Pksent uint64 -+ Expire int64 -+ Locks uint32 -+ Mtu uint32 -+ Refcnt uint32 -+ Hopcount uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pad uint32 -+} -+ -+type Mclpool struct { -+ Grown int32 -+ Alive uint16 -+ Hwm uint16 -+ Cwm uint16 -+ Lwm uint16 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go -new file mode 100644 -index 0000000..23c5272 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go -@@ -0,0 +1,448 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_openbsd.go -+ -+// +build amd64,openbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Mode uint32 -+ Dev int32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Pad_cgo_0 [4]byte -+ X__st_birthtim Timespec -+} -+ -+type Statfs_t struct { -+ F_flags uint32 -+ F_bsize uint32 -+ F_iosize uint32 -+ Pad_cgo_0 [4]byte -+ F_blocks uint64 -+ F_bfree uint64 -+ F_bavail int64 -+ F_files uint64 -+ F_ffree uint64 -+ F_favail int64 -+ F_syncwrites uint64 -+ F_syncreads uint64 -+ F_asyncwrites uint64 -+ F_asyncreads uint64 -+ F_fsid Fsid -+ F_namemax uint32 -+ F_owner uint32 -+ F_ctime uint64 -+ F_fstypename [16]int8 -+ F_mntonname [90]int8 -+ F_mntfromname [90]int8 -+ F_mntfromspec [90]int8 -+ Pad_cgo_1 [2]byte -+ Mount_info [160]byte -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ X__d_padding [4]uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x20 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xf8 -+ SizeofIfData = 0xe0 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x1a -+ SizeofRtMsghdr = 0x60 -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Xflags int32 -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Mtu uint32 -+ Metric uint32 -+ Pad uint32 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Capabilities uint32 -+ Pad_cgo_0 [4]byte -+ Lastchange Timeval -+ Mclpool [7]Mclpool -+ Pad_cgo_1 [4]byte -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ What uint16 -+ Name [16]int8 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Priority uint8 -+ Mpls uint8 -+ Addrs int32 -+ Flags int32 -+ Fmask int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Pksent uint64 -+ Expire int64 -+ Locks uint32 -+ Mtu uint32 -+ Refcnt uint32 -+ Hopcount uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pad uint32 -+} -+ -+type Mclpool struct { -+ Grown int32 -+ Alive uint16 -+ Hwm uint16 -+ Cwm uint16 -+ Lwm uint16 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go -new file mode 100644 -index 0000000..02777e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go -@@ -0,0 +1,423 @@ -+// +build amd64,solaris -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_solaris.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x400 -+ MaxHostNameLen = 0x100 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad_cgo_0 [4]byte -+ Blocks int64 -+ Fstype [16]int8 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Sysid int32 -+ Pid int32 -+ Pad [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Name [1]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+ X__sin6_src_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Family uint16 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [244]int8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [236]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *int8 -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Accrights *int8 -+ Accrightslen int32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ X__icmp6_filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x20 -+ SizeofSockaddrAny = 0xfc -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrDatalink = 0xfc -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x24 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+type FdSet struct { -+ Bits [1024]int64 -+} -+ -+type Utsname struct { -+ Sysname [257]int8 -+ Nodename [257]int8 -+ Release [257]int8 -+ Version [257]int8 -+ Machine [257]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int64 -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_0 [4]byte -+} -+ -+const ( -+ AT_FDCWD = 0xffd19553 -+ AT_SYMLINK_NOFOLLOW = 0x1000 -+ AT_SYMLINK_FOLLOW = 0x2000 -+ AT_REMOVEDIR = 0x1 -+ AT_EACCESS = 0x4 -+) -+ -+const ( -+ SizeofIfMsghdr = 0x54 -+ SizeofIfData = 0x44 -+ SizeofIfaMsghdr = 0x14 -+ SizeofRtMsghdr = 0x4c -+ SizeofRtMetrics = 0x28 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Lastchange Timeval32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+const _SC_PAGESIZE = 0xb -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Termio struct { -+ Iflag uint16 -+ Oflag uint16 -+ Cflag uint16 -+ Lflag uint16 -+ Line int8 -+ Cc [8]uint8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Winsize struct { -+ Row uint16 -+ Col uint16 -+ Xpixel uint16 -+ Ypixel uint16 -+} --- -2.7.4.3 - diff --git a/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch b/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch deleted file mode 100644 index e6506bba06b40ff07a03f0973c5600ce583047f6..0000000000000000000000000000000000000000 --- a/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch +++ /dev/null @@ -1,327 +0,0 @@ -From c13a4de91dc2a3db4b9085015dbce2f8e050d7ca Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 29 Mar 2017 22:39:05 +1100 -Subject: [PATCH 13/94] libcontainer: rewrite cmsg to use sys/unix - -The original implementation is in C, which increases cognitive load and -possibly might cause us problems in the future. Since sys/unix is better -maintained than the syscall standard library switching makes more sense. - -Change-Id: I8d91c2d7b28116d3d9be49e328f9383b9b7052d7 -Signed-off-by: Aleksa Sarai ---- - libcontainer/utils/cmsg.c | 148 --------------------------------------------- - libcontainer/utils/cmsg.go | 74 +++++++++++++++++------ - libcontainer/utils/cmsg.h | 36 ----------- - 3 files changed, 56 insertions(+), 202 deletions(-) - delete mode 100644 libcontainer/utils/cmsg.c - delete mode 100644 libcontainer/utils/cmsg.h - -diff --git a/libcontainer/utils/cmsg.c b/libcontainer/utils/cmsg.c -deleted file mode 100644 -index 0ded494..0000000 ---- a/libcontainer/utils/cmsg.c -+++ /dev/null -@@ -1,148 +0,0 @@ --/* -- * Copyright 2016 SUSE LLC -- * -- * Licensed under the Apache License, Version 2.0 (the "License"); -- * you may not use this file except in compliance with the License. -- * You may obtain a copy of the License at -- * -- * http://www.apache.org/licenses/LICENSE-2.0 -- * -- * Unless required by applicable law or agreed to in writing, software -- * distributed under the License is distributed on an "AS IS" BASIS, -- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- * See the License for the specific language governing permissions and -- * limitations under the License. -- */ -- --#include --#include --#include --#include --#include --#include --#include -- --#include "cmsg.h" -- --#define error(fmt, ...) \ -- ({ \ -- fprintf(stderr, "nsenter: " fmt ": %m\n", ##__VA_ARGS__); \ -- errno = ECOMM; \ -- goto err; /* return value */ \ -- }) -- --/* -- * Sends a file descriptor along the sockfd provided. Returns the return -- * value of sendmsg(2). Any synchronisation and preparation of state -- * should be done external to this (we expect the other side to be in -- * recvfd() in the code). -- */ --ssize_t sendfd(int sockfd, struct file_t file) --{ -- struct msghdr msg = {0}; -- struct iovec iov[1] = {0}; -- struct cmsghdr *cmsg; -- int *fdptr; -- int ret; -- -- union { -- char buf[CMSG_SPACE(sizeof(file.fd))]; -- struct cmsghdr align; -- } u; -- -- /* -- * We need to send some other data along with the ancillary data, -- * otherwise the other side won't recieve any data. This is very -- * well-hidden in the documentation (and only applies to -- * SOCK_STREAM). See the bottom part of unix(7). -- */ -- iov[0].iov_base = file.name; -- iov[0].iov_len = strlen(file.name) + 1; -- -- msg.msg_name = NULL; -- msg.msg_namelen = 0; -- msg.msg_iov = iov; -- msg.msg_iovlen = 1; -- msg.msg_control = u.buf; -- msg.msg_controllen = sizeof(u.buf); -- -- cmsg = CMSG_FIRSTHDR(&msg); -- cmsg->cmsg_level = SOL_SOCKET; -- cmsg->cmsg_type = SCM_RIGHTS; -- cmsg->cmsg_len = CMSG_LEN(sizeof(int)); -- -- fdptr = (int *) CMSG_DATA(cmsg); -- memcpy(fdptr, &file.fd, sizeof(int)); -- -- return sendmsg(sockfd, &msg, 0); --} -- --/* -- * Receives a file descriptor from the sockfd provided. Returns the file -- * descriptor as sent from sendfd(). It will return the file descriptor -- * or die (literally) trying. Any synchronisation and preparation of -- * state should be done external to this (we expect the other side to be -- * in sendfd() in the code). -- */ --struct file_t recvfd(int sockfd) --{ -- struct msghdr msg = {0}; -- struct iovec iov[1] = {0}; -- struct cmsghdr *cmsg; -- struct file_t file = {0}; -- int *fdptr; -- int olderrno; -- -- union { -- char buf[CMSG_SPACE(sizeof(file.fd))]; -- struct cmsghdr align; -- } u; -- -- /* Allocate a buffer. */ -- /* TODO: Make this dynamic with MSG_PEEK. */ -- file.name = malloc(TAG_BUFFER); -- if (!file.name) -- error("recvfd: failed to allocate file.tag buffer\n"); -- -- /* -- * We need to "recieve" the non-ancillary data even though we don't -- * plan to use it at all. Otherwise, things won't work as expected. -- * See unix(7) and other well-hidden documentation. -- */ -- iov[0].iov_base = file.name; -- iov[0].iov_len = TAG_BUFFER; -- -- msg.msg_name = NULL; -- msg.msg_namelen = 0; -- msg.msg_iov = iov; -- msg.msg_iovlen = 1; -- msg.msg_control = u.buf; -- msg.msg_controllen = sizeof(u.buf); -- -- ssize_t ret = recvmsg(sockfd, &msg, 0); -- if (ret < 0) -- goto err; -- -- cmsg = CMSG_FIRSTHDR(&msg); -- if (!cmsg) -- error("recvfd: got NULL from CMSG_FIRSTHDR"); -- if (cmsg->cmsg_level != SOL_SOCKET) -- error("recvfd: expected SOL_SOCKET in cmsg: %d", cmsg->cmsg_level); -- if (cmsg->cmsg_type != SCM_RIGHTS) -- error("recvfd: expected SCM_RIGHTS in cmsg: %d", cmsg->cmsg_type); -- if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) -- error("recvfd: expected correct CMSG_LEN in cmsg: %lu", (unsigned long)cmsg->cmsg_len); -- -- fdptr = (int *) CMSG_DATA(cmsg); -- if (!fdptr || *fdptr < 0) -- error("recvfd: recieved invalid pointer"); -- -- file.fd = *fdptr; -- return file; -- --err: -- olderrno = errno; -- free(file.name); -- errno = olderrno; -- return (struct file_t){0}; --} -diff --git a/libcontainer/utils/cmsg.go b/libcontainer/utils/cmsg.go -index ee89374..2cbb649 100644 ---- a/libcontainer/utils/cmsg.go -+++ b/libcontainer/utils/cmsg.go -@@ -3,7 +3,7 @@ - package utils - - /* -- * Copyright 2016 SUSE LLC -+ * Copyright 2016, 2017 SUSE LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. -@@ -18,28 +18,66 @@ package utils - * limitations under the License. - */ - --/* --#include --#include --#include "cmsg.h" --*/ --import "C" -- - import ( -+ "fmt" - "os" -- "unsafe" -+ -+ "golang.org/x/sys/unix" - ) - -+// MaxSendfdLen is the maximum length of the name of a file descriptor being -+// sent using SendFd. The name of the file handle returned by RecvFd will never -+// be larger than this value. -+const MaxNameLen = 4096 -+ -+// oobSpace is the size of the oob slice required to store a single FD. Note -+// that unix.UnixRights appears to make the assumption that fd is always int32, -+// so sizeof(fd) = 4. -+var oobSpace = unix.CmsgSpace(4) -+ - // RecvFd waits for a file descriptor to be sent over the given AF_UNIX - // socket. The file name of the remote file descriptor will be recreated - // locally (it is sent as non-auxiliary data in the same payload). - func RecvFd(socket *os.File) (*os.File, error) { -- file, err := C.recvfd(C.int(socket.Fd())) -+ // For some reason, unix.Recvmsg uses the length rather than the capacity -+ // when passing the msg_controllen and other attributes to recvmsg. So we -+ // have to actually set the length. -+ name := make([]byte, MaxNameLen) -+ oob := make([]byte, oobSpace) -+ -+ sockfd := socket.Fd() -+ n, oobn, _, _, err := unix.Recvmsg(int(sockfd), name, oob, 0) - if err != nil { - return nil, err - } -- defer C.free(unsafe.Pointer(file.name)) -- return os.NewFile(uintptr(file.fd), C.GoString(file.name)), nil -+ -+ if n >= MaxNameLen || oobn != oobSpace { -+ return nil, fmt.Errorf("recvfd: incorrect number of bytes read (n=%d oobn=%d)", n, oobn) -+ } -+ -+ // Truncate. -+ name = name[:n] -+ oob = oob[:oobn] -+ -+ scms, err := unix.ParseSocketControlMessage(oob) -+ if err != nil { -+ return nil, err -+ } -+ if len(scms) != 1 { -+ return nil, fmt.Errorf("recvfd: number of SCMs is not 1: %d", len(scms)) -+ } -+ scm := scms[0] -+ -+ fds, err := unix.ParseUnixRights(&scm) -+ if err != nil { -+ return nil, err -+ } -+ if len(fds) != 1 { -+ return nil, fmt.Errorf("recvfd: number of fds is not 1: %d", len(fds)) -+ } -+ fd := uintptr(fds[0]) -+ -+ return os.NewFile(fd, string(name)), nil - } - - // SendFd sends a file descriptor over the given AF_UNIX socket. In -@@ -47,11 +85,11 @@ func RecvFd(socket *os.File) (*os.File, error) { - // non-auxiliary data in the same payload (allowing to send contextual - // information for a file descriptor). - func SendFd(socket, file *os.File) error { -- var cfile C.struct_file_t -- cfile.fd = C.int(file.Fd()) -- cfile.name = C.CString(file.Name()) -- defer C.free(unsafe.Pointer(cfile.name)) -+ name := []byte(file.Name()) -+ if len(name) >= MaxNameLen { -+ return fmt.Errorf("sendfd: filename too long: %s", file.Name()) -+ } -+ oob := unix.UnixRights(int(file.Fd())) - -- _, err := C.sendfd(C.int(socket.Fd()), cfile) -- return err -+ return unix.Sendmsg(int(socket.Fd()), name, oob, nil, 0) - } -diff --git a/libcontainer/utils/cmsg.h b/libcontainer/utils/cmsg.h -deleted file mode 100644 -index 3fe7642..0000000 ---- a/libcontainer/utils/cmsg.h -+++ /dev/null -@@ -1,36 +0,0 @@ --/* -- * Copyright 2016 SUSE LLC -- * -- * Licensed under the Apache License, Version 2.0 (the "License"); -- * you may not use this file except in compliance with the License. -- * You may obtain a copy of the License at -- * -- * http://www.apache.org/licenses/LICENSE-2.0 -- * -- * Unless required by applicable law or agreed to in writing, software -- * distributed under the License is distributed on an "AS IS" BASIS, -- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- * See the License for the specific language governing permissions and -- * limitations under the License. -- */ -- --#pragma once -- --#if !defined(CMSG_H) --#define CMSG_H -- --#include -- --/* TODO: Implement this properly with MSG_PEEK. */ --#define TAG_BUFFER 4096 -- --/* This mirrors Go's (*os.File). */ --struct file_t { -- char *name; -- int fd; --}; -- --struct file_t recvfd(int sockfd); --ssize_t sendfd(int sockfd, struct file_t file); -- --#endif /* !defined(CMSG_H) */ --- -2.7.4.3 - diff --git a/patch/0013-runc-modify-minHookTimeOut.patch b/patch/0013-runc-modify-minHookTimeOut.patch new file mode 100644 index 0000000000000000000000000000000000000000..1b26d700a1c3845da5baaa21f213294726be14c5 --- /dev/null +++ b/patch/0013-runc-modify-minHookTimeOut.patch @@ -0,0 +1,25 @@ +From b8495e4a88faa18a3851235b9b2431164826cc3f Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Fri, 21 Oct 2022 15:37:47 +0800 +Subject: [PATCH] runc: modify minHookTimeOut + +--- + runc-1.1.3/libcontainer/configs/config.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/runc-1.1.3/libcontainer/configs/config.go b/runc-1.1.3/libcontainer/configs/config.go +index 9076846..540bcdb 100644 +--- a/runc-1.1.3/libcontainer/configs/config.go ++++ b/runc-1.1.3/libcontainer/configs/config.go +@@ -12,7 +12,7 @@ import ( + ) + + const ( +- minHookTimeOut = 1 * time.Second ++ minHookTimeOut = 0 + defaultHookTimeOut = 5 * time.Second + maxHookTimeOut = 120 * time.Second + //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. +-- +2.30.0 + diff --git a/patch/0014-Set-container-state-only-once-during-start.patch b/patch/0014-Set-container-state-only-once-during-start.patch deleted file mode 100644 index 10a3a568a278dd0361de4f1e080dc67d72998250..0000000000000000000000000000000000000000 --- a/patch/0014-Set-container-state-only-once-during-start.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b9b6667861bcc98579489aa6cec8012249fedbab Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Tue, 4 Apr 2017 15:08:04 +0530 -Subject: [PATCH 14/94] Set container state only once during start - -Change-Id: Iae2bcd397cbc40c540e32807d946c3ec81783803 -Signed-off-by: Harshal Patil ---- - libcontainer/container_linux.go | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 71fa682..26e51ae 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -263,9 +263,6 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - // generate a timestamp indicating when the container was started - c.created = time.Now().UTC() -- c.state = &runningState{ -- c: c, -- } - if isInit { - c.state = &createdState{ - c: c, -@@ -292,6 +289,10 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - } - } -+ } else { -+ c.state = &runningState{ -+ c: c, -+ } - } - return nil - } --- -2.7.4.3 - diff --git a/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch b/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch new file mode 100644 index 0000000000000000000000000000000000000000..f82c4edffec05087d66090a2f214fdf2501cd545 --- /dev/null +++ b/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch @@ -0,0 +1,102 @@ +From 60b8eb8bd890a96c671f31cc9cda9e5cb9d487f1 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Fri, 21 Oct 2022 16:30:02 +0800 +Subject: [PATCH] runc:make hooks log more userful and fix syslog hook bug + +--- + runc-1.1.3/libcontainer/configs/config.go | 17 ++++++++++++++--- + runc-1.1.3/main.go | 5 ++++- + 2 files changed, 18 insertions(+), 4 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/configs/config.go b/runc-1.1.3/libcontainer/configs/config.go +index 540bcdb..cda79bf 100644 +--- a/runc-1.1.3/libcontainer/configs/config.go ++++ b/runc-1.1.3/libcontainer/configs/config.go +@@ -8,6 +8,7 @@ import ( + "github.com/opencontainers/runc/libcontainer/devices" + "github.com/opencontainers/runtime-spec/specs-go" + "os/exec" ++ "strings" + "time" + ) + +@@ -286,11 +287,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { +- logrus.Infof("run hooks %d:%T, ContainerId: %s", i, h, state.ID) ++ logrus.Infof("run hooks %d:%s, ContainerId: %s", i, h.Info(), state.ID) + if err := h.Run(state); err != nil { +- return fmt.Errorf("error running hook #%d: %w, ContainerId: %s", i, err, state.ID) ++ return fmt.Errorf("error running hook %d:%s err: %w, ContainerId: %s", i, h.Info(), err, state.ID) + } +- logrus.Infof("hooks %d:%T done, ContainerId: %s", i, h, state.ID) ++ logrus.Infof("hooks %d:%s done, ContainerId: %s", i, h.Info(), state.ID) + } + + return nil +@@ -345,6 +346,7 @@ func (hooks *Hooks) MarshalJSON() ([]byte, error) { + type Hook interface { + // Run executes the hook with the provided state. + Run(*specs.State) error ++ Info() string + } + + // NewFunctionHook will call the provided function when the hook is run. +@@ -362,6 +364,11 @@ func (f FuncHook) Run(s *specs.State) error { + return f.run(s) + } + ++func (f FuncHook) Info() string { ++ return "hook function" ++} ++ ++ + type Command struct { + Path string `json:"path"` + Args []string `json:"args"` +@@ -381,6 +388,10 @@ type CommandHook struct { + Command + } + ++func (c Command) Info() string { ++ return c.Path + "," + strings.Join(c.Args, ",") ++} ++ + func (c Command) Run(s *specs.State) error { + b, err := json.Marshal(s) + if err != nil { +diff --git a/runc-1.1.3/main.go b/runc-1.1.3/main.go +index 9e14976..0a6f3b4 100644 +--- a/runc-1.1.3/main.go ++++ b/runc-1.1.3/main.go +@@ -4,6 +4,7 @@ import ( + "errors" + "fmt" + "io" ++ "log/syslog" + "os" + "path/filepath" + "runtime" +@@ -14,6 +15,7 @@ import ( + "github.com/opencontainers/runtime-spec/specs-go" + + "github.com/sirupsen/logrus" ++ logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "github.com/urfave/cli" + ) + +@@ -218,8 +220,9 @@ func configLogrus(context *cli.Context) error { + hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") + if serr != nil { + fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) ++ } else { ++ logrus.AddHook(hook) + } +- logrus.AddHook(hook) + } + if logLevel := context.GlobalString("log-level"); logLevel != "" { + lvl, err := logrus.ParseLevel(logLevel) +-- +2.30.0 + diff --git a/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch b/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch deleted file mode 100644 index f0533875b207313aaa202e0698e1c0edf55342f8..0000000000000000000000000000000000000000 --- a/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 6397990e4ee68389c05fa2a0c89d1c4d4e5e5677 Mon Sep 17 00:00:00 2001 -From: Adrian Reber -Date: Tue, 14 Mar 2017 20:21:58 +0000 -Subject: [PATCH 15/94] checkpoint: check if system supports - pre-dumping - -Instead of relying on version numbers it is possible to check if CRIU -actually supports certain features. This introduces an initial -implementation to check if CRIU and the underlying kernel actually -support dirty memory tracking for memory pre-dumping. - -Upstream CRIU also supports the lazy-page migration feature check and -additional feature checks can be included in CRIU to reduce the version -number parsing. There are also certain CRIU features which depend on one -side on the CRIU version but also require certain kernel versions to -actually work. CRIU knows if it can do certain things on the kernel it -is running on and using the feature check RPC interface makes it easier -for runc to decide if the criu+kernel combination will support that -feature. - -Feature checking was introduced with CRIU 1.8. Running with older CRIU -versions will ignore the feature check functionality and behave just -like it used to. - -v2: - - Do not use reflection to compare requested and responded - features. Checking which feature is available is now hardcoded - and needs to be adapted for every new feature check. The code - is now much more readable and simpler. - -v3: - - Move the variable criuFeat out of the linuxContainer struct, - as it is not container specific. Now it is a global variable. - -Change-Id: Ide44007d031d1bc4572dab1e88d78762944b379b -Signed-off-by: Adrian Reber ---- - libcontainer/container_linux.go | 85 ++++++++++++++++++++++++++++++++++++----- - 1 file changed, 76 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 26e51ae..705472a 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -536,6 +536,56 @@ func (c *linuxContainer) NotifyMemoryPressure(level PressureLevel) (<-chan struc - return notifyMemoryPressure(c.cgroupManager.GetPaths(), level) - } - -+var criuFeatures *criurpc.CriuFeatures -+ -+func (c *linuxContainer) checkCriuFeatures(criuOpts *CriuOpts, rpcOpts *criurpc.CriuOpts, criuFeat *criurpc.CriuFeatures) error { -+ -+ var t criurpc.CriuReqType -+ t = criurpc.CriuReqType_FEATURE_CHECK -+ -+ if err := c.checkCriuVersion("1.8"); err != nil { -+ // Feature checking was introduced with CRIU 1.8. -+ // Ignore the feature check if an older CRIU version is used -+ // and just act as before. -+ // As all automated PR testing is done using CRIU 1.7 this -+ // code will not be tested by automated PR testing. -+ return nil -+ } -+ -+ // make sure the features we are looking for are really not from -+ // some previous check -+ criuFeatures = nil -+ -+ req := &criurpc.CriuReq{ -+ Type: &t, -+ // Theoretically this should not be necessary but CRIU -+ // segfaults if Opts is empty. -+ // Fixed in CRIU 2.12 -+ Opts: rpcOpts, -+ Features: criuFeat, -+ } -+ -+ err := c.criuSwrk(nil, req, criuOpts, false) -+ if err != nil { -+ logrus.Debugf("%s", err) -+ return fmt.Errorf("CRIU feature check failed") -+ } -+ -+ logrus.Debugf("Feature check says: %s", criuFeatures) -+ missingFeatures := false -+ -+ if *criuFeat.MemTrack && !*criuFeatures.MemTrack { -+ missingFeatures = true -+ logrus.Debugf("CRIU does not support MemTrack") -+ } -+ -+ if missingFeatures { -+ return fmt.Errorf("CRIU is missing features") -+ } -+ -+ return nil -+} -+ - // checkCriuVersion checks Criu version greater than or equal to minVersion - func (c *linuxContainer) checkCriuVersion(minVersion string) error { - var x, y, z, versionReq int -@@ -718,6 +768,14 @@ func (c *linuxContainer) Checkpoint(criuOpts *CriuOpts) error { - - var t criurpc.CriuReqType - if criuOpts.PreDump { -+ feat := criurpc.CriuFeatures{ -+ MemTrack: proto.Bool(true), -+ } -+ -+ if err := c.checkCriuFeatures(criuOpts, &rpcOpts, &feat); err != nil { -+ return err -+ } -+ - t = criurpc.CriuReqType_PRE_DUMP - } else { - t = criurpc.CriuReqType_DUMP -@@ -1019,16 +1077,21 @@ func (c *linuxContainer) criuSwrk(process *Process, req *criurpc.CriuReq, opts * - } - - logrus.Debugf("Using CRIU in %s mode", req.GetType().String()) -- val := reflect.ValueOf(req.GetOpts()) -- v := reflect.Indirect(val) -- for i := 0; i < v.NumField(); i++ { -- st := v.Type() -- name := st.Field(i).Name -- if strings.HasPrefix(name, "XXX_") { -- continue -+ // In the case of criurpc.CriuReqType_FEATURE_CHECK req.GetOpts() -+ // should be empty. For older CRIU versions it still will be -+ // available but empty. -+ if req.GetType() != criurpc.CriuReqType_FEATURE_CHECK { -+ val := reflect.ValueOf(req.GetOpts()) -+ v := reflect.Indirect(val) -+ for i := 0; i < v.NumField(); i++ { -+ st := v.Type() -+ name := st.Field(i).Name -+ if strings.HasPrefix(name, "XXX_") { -+ continue -+ } -+ value := val.MethodByName("Get" + name).Call([]reflect.Value{}) -+ logrus.Debugf("CRIU option %s with value %v", name, value[0]) - } -- value := val.MethodByName("Get" + name).Call([]reflect.Value{}) -- logrus.Debugf("CRIU option %s with value %v", name, value[0]) - } - data, err := proto.Marshal(req) - if err != nil { -@@ -1064,6 +1127,10 @@ func (c *linuxContainer) criuSwrk(process *Process, req *criurpc.CriuReq, opts * - - t := resp.GetType() - switch { -+ case t == criurpc.CriuReqType_FEATURE_CHECK: -+ logrus.Debugf("Feature check says: %s", resp) -+ criuFeatures = resp.GetFeatures() -+ break - case t == criurpc.CriuReqType_NOTIFY: - if err := c.criuNotifications(resp, process, opts, extFds); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0015-runc-fix-runc-log-decode-failed.patch b/patch/0015-runc-fix-runc-log-decode-failed.patch new file mode 100644 index 0000000000000000000000000000000000000000..d551126d75ed00a849345d04d45d699efbcc2316 --- /dev/null +++ b/patch/0015-runc-fix-runc-log-decode-failed.patch @@ -0,0 +1,62 @@ +From c940ccbc26322c4dae9b3c7caa82d5e2eefcf7b1 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Fri, 21 Oct 2022 16:40:34 +0800 +Subject: [PATCH] runc: fix runc log decode failed + +--- + runc-1.1.3/main.go | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/runc-1.1.3/main.go b/runc-1.1.3/main.go +index 0a6f3b4..6e9101a 100644 +--- a/runc-1.1.3/main.go ++++ b/runc-1.1.3/main.go +@@ -1,6 +1,7 @@ + package main + + import ( ++ "encoding/json" + "errors" + "fmt" + "io" +@@ -10,6 +11,7 @@ import ( + "runtime" + "strconv" + "strings" ++ "time" + + "github.com/opencontainers/runc/libcontainer/seccomp" + "github.com/opencontainers/runtime-spec/specs-go" +@@ -219,7 +221,7 @@ func configLogrus(context *cli.Context) error { + logrus.SetOutput(f) + hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") + if serr != nil { +- fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) ++ logToFile(f, "error", fmt.Sprintf("Leo: new syslog hook get %s", serr)) + } else { + logrus.AddHook(hook) + } +@@ -238,3 +240,20 @@ func configLogrus(context *cli.Context) error { + } + return nil + } ++ ++func logToFile(f io.Writer, level string, msg string) { ++ var ( ++ log struct { ++ Level string ++ Msg string ++ Time time.Time ++ } ++ ) ++ log.Level = level ++ log.Msg = msg ++ log.Time = time.Now() ++ s, err := json.Marshal(log) ++ if err != nil { ++ fmt.Fprint(f, string(s)) ++ } ++} +-- +2.30.0 + diff --git a/patch/0016-Fix-console-syscalls.patch b/patch/0016-Fix-console-syscalls.patch deleted file mode 100644 index eced1387fdd7332ee16dfe9673abc8b914481017..0000000000000000000000000000000000000000 --- a/patch/0016-Fix-console-syscalls.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 17199cf842a86765a21e2054e10e0c64f28353c8 Mon Sep 17 00:00:00 2001 -From: Christy Perez -Date: Mon, 27 Mar 2017 16:46:57 -0500 -Subject: [PATCH 16/94] Fix console syscalls - -Fixes opencontainers/runc/issues/1364 - -Change-Id: Ic12237e2ce327f4d9eab3145d0c4c2cff9fb641a -Signed-off-by: Christy Perez ---- - libcontainer/console_linux.go | 31 ++++++++++++++++--------------- - 1 file changed, 16 insertions(+), 15 deletions(-) - -diff --git a/libcontainer/console_linux.go b/libcontainer/console_linux.go -index e431766..5e364a8 100644 ---- a/libcontainer/console_linux.go -+++ b/libcontainer/console_linux.go -@@ -3,8 +3,9 @@ package libcontainer - import ( - "fmt" - "os" -- "syscall" - "unsafe" -+ -+ "golang.org/x/sys/unix" - ) - - func ConsoleFromFile(f *os.File) Console { -@@ -16,7 +17,7 @@ func ConsoleFromFile(f *os.File) Console { - // newConsole returns an initialized console that can be used within a container by copying bytes - // from the master side to the slave that is attached as the tty for the container's init process. - func newConsole() (Console, error) { -- master, err := os.OpenFile("/dev/ptmx", syscall.O_RDWR|syscall.O_NOCTTY|syscall.O_CLOEXEC, 0) -+ master, err := os.OpenFile("/dev/ptmx", unix.O_RDWR|unix.O_NOCTTY|unix.O_CLOEXEC, 0) - if err != nil { - return nil, err - } -@@ -68,8 +69,8 @@ func (c *linuxConsole) Close() error { - // mount initializes the console inside the rootfs mounting with the specified mount label - // and applying the correct ownership of the console. - func (c *linuxConsole) mount() error { -- oldMask := syscall.Umask(0000) -- defer syscall.Umask(oldMask) -+ oldMask := unix.Umask(0000) -+ defer unix.Umask(oldMask) - f, err := os.Create("/dev/console") - if err != nil && !os.IsExist(err) { - return err -@@ -77,19 +78,19 @@ func (c *linuxConsole) mount() error { - if f != nil { - f.Close() - } -- return syscall.Mount(c.slavePath, "/dev/console", "bind", syscall.MS_BIND, "") -+ return unix.Mount(c.slavePath, "/dev/console", "bind", unix.MS_BIND, "") - } - - // dupStdio opens the slavePath for the console and dups the fds to the current - // processes stdio, fd 0,1,2. - func (c *linuxConsole) dupStdio() error { -- slave, err := c.open(syscall.O_RDWR) -+ slave, err := c.open(unix.O_RDWR) - if err != nil { - return err - } - fd := int(slave.Fd()) - for _, i := range []int{0, 1, 2} { -- if err := syscall.Dup3(fd, i, 0); err != nil { -+ if err := unix.Dup3(fd, i, 0); err != nil { - return err - } - } -@@ -98,7 +99,7 @@ func (c *linuxConsole) dupStdio() error { - - // open is a clone of os.OpenFile without the O_CLOEXEC used to open the pty slave. - func (c *linuxConsole) open(flag int) (*os.File, error) { -- r, e := syscall.Open(c.slavePath, flag, 0) -+ r, e := unix.Open(c.slavePath, flag, 0) - if e != nil { - return nil, &os.PathError{ - Op: "open", -@@ -110,7 +111,7 @@ func (c *linuxConsole) open(flag int) (*os.File, error) { - } - - func ioctl(fd uintptr, flag, data uintptr) error { -- if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, flag, data); err != 0 { -+ if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, flag, data); err != 0 { - return err - } - return nil -@@ -120,13 +121,13 @@ func ioctl(fd uintptr, flag, data uintptr) error { - // unlockpt should be called before opening the slave side of a pty. - func unlockpt(f *os.File) error { - var u int32 -- return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) -+ return ioctl(f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) - } - - // ptsname retrieves the name of the first available pts for the given master. - func ptsname(f *os.File) (string, error) { - var n int32 -- if err := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n))); err != nil { -+ if err := ioctl(f.Fd(), unix.TIOCGPTN, uintptr(unsafe.Pointer(&n))); err != nil { - return "", err - } - return fmt.Sprintf("/dev/pts/%d", n), nil -@@ -139,16 +140,16 @@ func ptsname(f *os.File) (string, error) { - // also relay that funky line discipline. - func saneTerminal(terminal *os.File) error { - // Go doesn't have a wrapper for any of the termios ioctls. -- var termios syscall.Termios -+ var termios unix.Termios - -- if err := ioctl(terminal.Fd(), syscall.TCGETS, uintptr(unsafe.Pointer(&termios))); err != nil { -+ if err := ioctl(terminal.Fd(), unix.TCGETS, uintptr(unsafe.Pointer(&termios))); err != nil { - return fmt.Errorf("ioctl(tty, tcgets): %s", err.Error()) - } - - // Set -onlcr so we don't have to deal with \r. -- termios.Oflag &^= syscall.ONLCR -+ termios.Oflag &^= unix.ONLCR - -- if err := ioctl(terminal.Fd(), syscall.TCSETS, uintptr(unsafe.Pointer(&termios))); err != nil { -+ if err := ioctl(terminal.Fd(), unix.TCSETS, uintptr(unsafe.Pointer(&termios))); err != nil { - return fmt.Errorf("ioctl(tty, tcsets): %s", err.Error()) - } - --- -2.7.4.3 - diff --git a/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch b/patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch similarity index 37% rename from patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch rename to patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch index 3ad4aecc70f686c31cb5a979d7c815144e1e0fad..cf07a99fd0172b5a3a6953d83e2145dc54113f20 100644 --- a/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch +++ b/patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch @@ -1,26 +1,19 @@ -From 9421de9838d904c5eea40f0bd0cd50a00157392f Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 5 Mar 2018 21:15:15 +0800 -Subject: [PATCH 85/94] runc: do not setup sysctl in runc when userns - enabled +From 4d52919666e6cfc75c87908a2fe62c180684c4cd Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Fri, 21 Oct 2022 16:56:15 +0800 +Subject: [PATCH] runc:do not setup sysctl in runc when userns enable -reason:when userns enabled, runc will run as normal user, it has -no rights to setup sysctl even the ipcns sysctl. let docker-hooks do this job. - -Change-Id: Ia77b8c1bf4255973736f04c0962eae722ed9683e -Signed-off-by: gus.gao -Signed-off-by: zhangsong34 --- - libcontainer/standard_init_linux.go | 10 ++++++---- + runc-1.1.3/libcontainer/standard_init_linux.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 18506af..fd836f3 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -107,10 +107,12 @@ func (l *linuxStandardInit) Init() error { - if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil { - return err +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index 0dd51b2..b202ba9 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -130,10 +130,12 @@ func (l *linuxStandardInit) Init() error { + if err := apparmor.ApplyProfile(l.config.AppArmorProfile); err != nil { + return fmt.Errorf("unable to apply apparmor profile: %w", err) } - - for key, value := range l.config.Config.Sysctl { @@ -36,5 +29,5 @@ index 18506af..fd836f3 100644 } for _, path := range l.config.Config.ReadonlyPaths { -- -2.7.4.3 +2.30.0 diff --git a/patch/0017-restore-apply-resource-limits.patch b/patch/0017-restore-apply-resource-limits.patch deleted file mode 100644 index c9df593fdb192534e0733eeeb7ebac09570d8d26..0000000000000000000000000000000000000000 --- a/patch/0017-restore-apply-resource-limits.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7b92e178267794e026f5c38e632d82a00f038e96 Mon Sep 17 00:00:00 2001 -From: Andrei Vagin -Date: Fri, 7 Apr 2017 02:34:41 +0300 -Subject: [PATCH 17/94] restore: apply resource limits - -When C/R was implemented, it was enough to call manager.Set to apply -limits and to move a task. Now .Set() and .Apply() have to be called -separately. - -Change-Id: I4786732a1779a65eeb902fc1ef42b194ba8dd3b4 -Fixes: 8a740d5391a7 ("libcontainer: cgroups: don't Set in Apply") -Signed-off-by: Andrei Vagin ---- - libcontainer/container_linux.go | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 705472a..b5563d6 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1008,6 +1008,10 @@ func (c *linuxContainer) criuApplyCgroups(pid int, req *criurpc.CriuReq) error { - return err - } - -+ if err := c.cgroupManager.Set(c.config); err != nil { -+ return newSystemError(err) -+ } -+ - path := fmt.Sprintf("/proc/%d/cgroup", pid) - cgroupsPaths, err := cgroups.ParseCgroupFile(path) - if err != nil { --- -2.7.4.3 - diff --git a/patch/0017-runc-support-set-seccomp-priority.patch b/patch/0017-runc-support-set-seccomp-priority.patch new file mode 100644 index 0000000000000000000000000000000000000000..cb5b304e2c071d272c520099e85735f58a8ffe65 --- /dev/null +++ b/patch/0017-runc-support-set-seccomp-priority.patch @@ -0,0 +1,64 @@ +From cbb187aee3a309a38a973dee1c1f6d66c1256cf5 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Fri, 21 Oct 2022 17:09:33 +0800 +Subject: [PATCH] runc: support set seccomp priority + +--- + runc-1.1.3/libcontainer/configs/config.go | 1 + + runc-1.1.3/libcontainer/seccomp/seccomp_linux.go | 2 +- + runc-1.1.3/libcontainer/specconv/spec_linux.go | 1 + + .../github.com/opencontainers/runtime-spec/specs-go/config.go | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/runc-1.1.3/libcontainer/configs/config.go b/runc-1.1.3/libcontainer/configs/config.go +index cda79bf..f85ade3 100644 +--- a/runc-1.1.3/libcontainer/configs/config.go ++++ b/runc-1.1.3/libcontainer/configs/config.go +@@ -88,6 +88,7 @@ type Syscall struct { + Name string `json:"name"` + Action Action `json:"action"` + ErrnoRet *uint `json:"errnoRet"` ++ Priority uint8 `json:"priority,omitempty"` + Args []*Arg `json:"args"` + } + +diff --git a/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go b/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go +index 8c12af7..e4b5750 100644 +--- a/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go ++++ b/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go +@@ -256,7 +256,7 @@ func matchCall(filter *libseccomp.ScmpFilter, call *configs.Syscall, defAct libs + } + } + +- return nil ++ return filter.SetSyscallPriority(callNum, call.Priority) + } + + // Version returns major, minor, and micro. +diff --git a/runc-1.1.3/libcontainer/specconv/spec_linux.go b/runc-1.1.3/libcontainer/specconv/spec_linux.go +index 19dd947..02a7439 100644 +--- a/runc-1.1.3/libcontainer/specconv/spec_linux.go ++++ b/runc-1.1.3/libcontainer/specconv/spec_linux.go +@@ -1061,6 +1061,7 @@ func SetupSeccomp(config *specs.LinuxSeccomp) (*configs.Seccomp, error) { + Name: name, + Action: newAction, + ErrnoRet: call.ErrnoRet, ++ Priority: call.Priority, + Args: []*configs.Arg{}, + } + // Loop through all the arguments of the syscall and convert them +diff --git a/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +index e8143b2..135f74a 100644 +--- a/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go ++++ b/runc-1.1.3/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +@@ -688,6 +688,7 @@ type LinuxSyscall struct { + Names []string `json:"names"` + Action LinuxSeccompAction `json:"action"` + ErrnoRet *uint `json:"errnoRet,omitempty"` ++ Priority uint8 `json:"priority,omitempty"` + Args []LinuxSeccompArg `json:"args,omitempty"` + } + +-- +2.30.0 + diff --git a/patch/0018-could-load-a-stopped-container.patch b/patch/0018-could-load-a-stopped-container.patch deleted file mode 100644 index a484f61ff2733a8629b5a551b45ad4c2bae078de..0000000000000000000000000000000000000000 --- a/patch/0018-could-load-a-stopped-container.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d8ea288801363d61c46a5eecfe7e1a9001767bc7 Mon Sep 17 00:00:00 2001 -From: CuiHaozhi -Date: Fri, 7 Apr 2017 07:39:41 -0400 -Subject: [PATCH 18/94] could load a stopped container. - -Change-Id: Ieabdef66ad7e9488a44b718093acf23f8aa947c4 -Signed-off-by: CuiHaozhi ---- - libcontainer/factory.go | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/libcontainer/factory.go b/libcontainer/factory.go -index f0ccb52..0986cd7 100644 ---- a/libcontainer/factory.go -+++ b/libcontainer/factory.go -@@ -10,7 +10,7 @@ type Factory interface { - // between 1 and 1024 characters, inclusive. - // - // The id must not already be in use by an existing container. Containers created using -- // a factory with the same path (and file system) must have distinct ids. -+ // a factory with the same path (and filesystem) must have distinct ids. - // - // Returns the new container with a running process. - // -@@ -28,7 +28,6 @@ type Factory interface { - // - // errors: - // Path does not exist -- // Container is stopped - // System error - Load(id string) (Container, error) - --- -2.7.4.3 - diff --git a/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch b/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch new file mode 100644 index 0000000000000000000000000000000000000000..c246f3b6cfecbec3ce61efeafeb9afa6af14f4c7 --- /dev/null +++ b/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch @@ -0,0 +1,28 @@ +From ac414a8ac967e0fbbf27ea6364f0b134fe9ce9e2 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 11:34:15 +0800 +Subject: [PATCH] runc:do not kill container if poststart hooks execute failed + +--- + runc-1.1.3/libcontainer/container_linux.go | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/container_linux.go b/runc-1.1.3/libcontainer/container_linux.go +index 425e44d..10890c1 100644 +--- a/runc-1.1.3/libcontainer/container_linux.go ++++ b/runc-1.1.3/libcontainer/container_linux.go +@@ -367,10 +367,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := c.config.Hooks[configs.Poststart].RunHooks(s); err != nil { +- if err := ignoreTerminateErrors(parent.terminate()); err != nil { +- logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) +- } +- return err ++ logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) + } + } + } +-- +2.30.0 + diff --git a/patch/0019-Revert-back-to-using-sbin.patch b/patch/0019-Revert-back-to-using-sbin.patch deleted file mode 100644 index dcaca2f3ea6127fc4fa8e3845f4d7288b1ebcc02..0000000000000000000000000000000000000000 --- a/patch/0019-Revert-back-to-using-sbin.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a90e91c5fc8e6fb016d26666361e6d1bfd3f56c8 Mon Sep 17 00:00:00 2001 -From: Michael Crosby -Date: Fri, 14 Apr 2017 10:15:33 -0700 -Subject: [PATCH 19/94] Revert back to using /sbin - -This was changed in -https://github.com/opencontainers/runc/commit/d2f49696#diff-b67911656ef5d18c4ae36cb6741b7965R7 -and is causing install problems for people building runc and having it -installed in /bin and /sbin. - -Change-Id: Ibaef1dd279894342c48da5e6e8e7f1a7212003b8 -Signed-off-by: Michael Crosby ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 1cecca1..d6d337d 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ - - SOURCES := $(shell find . 2>&1 | grep -E '.*\.(c|h|go)$$') - PREFIX := $(DESTDIR)/usr/local --BINDIR := $(PREFIX)/bin -+BINDIR := $(PREFIX)/sbin - GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) - GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) --- -2.7.4.3 - diff --git a/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch b/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch new file mode 100644 index 0000000000000000000000000000000000000000..8746cde0ca38caa5369d32ab2caf59c166b05974 --- /dev/null +++ b/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch @@ -0,0 +1,76 @@ +From cb55699bd5f0de2bcf38b343194fd08779fb0317 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 15:18:35 +0800 +Subject: [PATCH] runc: print memory info when syscall.Exec failed + +--- + runc-1.1.3/libcontainer/container_linux.go | 1 + + .../libcontainer/standard_init_linux.go | 33 ++++++++++++++++++- + 2 files changed, 33 insertions(+), 1 deletion(-) + +diff --git a/runc-1.1.3/libcontainer/container_linux.go b/runc-1.1.3/libcontainer/container_linux.go +index 10890c1..5ef5a9a 100644 +--- a/runc-1.1.3/libcontainer/container_linux.go ++++ b/runc-1.1.3/libcontainer/container_linux.go +@@ -355,6 +355,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := parent.start(); err != nil { ++ printCgroupInfo(c.config.Cgroups.Path) + return fmt.Errorf("unable to start container process: %w", err) + } + +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index b202ba9..8a60501 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -3,8 +3,10 @@ package libcontainer + import ( + "errors" + "fmt" ++ "io/ioutil" + "os" + "os/exec" ++ "path/filepath" + "strconv" + "time" + +@@ -274,5 +276,34 @@ func (l *linuxStandardInit) Init() error { + return err + } + +- return system.Exec(name, l.config.Args[0:], os.Environ()) ++ if err := system.Exec(name, l.config.Args[0:], os.Environ()); err != nil { ++ printCgroupInfo("") ++ return err ++ } ++ return nil + } ++ ++func printCgroupInfo(path string) { ++ cgroupRoot := "/sys/fs/cgroup" ++ infoFileList := []string{ ++ "/proc/meminfo", ++ "/sys/fs/cgroup/memory/memory.stat", ++ filepath.Join(cgroupRoot, "files", path, "files.limit"), ++ filepath.Join(cgroupRoot, "files", path, "files.usage"), ++ filepath.Join(cgroupRoot, "pids", path, "pids.max"), ++ filepath.Join(cgroupRoot, "pids", path, "pids.current"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.stat"), ++ filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), ++ } ++ for _, file := range infoFileList { ++ printFileContent(file) ++ } ++} ++ ++func printFileContent(path string) { ++ output, err := ioutil.ReadFile(path) ++ logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) ++} ++ +-- +2.30.0 + diff --git a/patch/0020-add-testcase-in-generic_error_test.go.patch b/patch/0020-add-testcase-in-generic_error_test.go.patch deleted file mode 100644 index 081dff5bb8be9b5f04b43d3bb36cfd08eb900643..0000000000000000000000000000000000000000 --- a/patch/0020-add-testcase-in-generic_error_test.go.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 9d30f4580c68c7d16a94d0df04b61571b212e55f Mon Sep 17 00:00:00 2001 -From: chchliang -Date: Wed, 12 Apr 2017 16:26:30 +0800 -Subject: [PATCH 20/94] add testcase in generic_error_test.go - -Change-Id: Id0e21750ea9724d48423ab16f70786a1f62ea81c -Signed-off-by: chchliang ---- - libcontainer/generic_error_test.go | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -diff --git a/libcontainer/generic_error_test.go b/libcontainer/generic_error_test.go -index 292d2a3..8fbdd4d 100644 ---- a/libcontainer/generic_error_test.go -+++ b/libcontainer/generic_error_test.go -@@ -12,3 +12,38 @@ func TestErrorDetail(t *testing.T) { - t.Fatal(derr) - } - } -+ -+func TestErrorWithCode(t *testing.T) { -+ err := newGenericError(fmt.Errorf("test error"), SystemError) -+ if code := err.Code(); code != SystemError { -+ t.Fatalf("expected err code %q but %q", SystemError, code) -+ } -+} -+ -+func TestErrorWithError(t *testing.T) { -+ cc := []struct { -+ errmsg string -+ cause string -+ }{ -+ { -+ errmsg: "test error", -+ }, -+ { -+ errmsg: "test error", -+ cause: "test", -+ }, -+ } -+ -+ for _, v := range cc { -+ err := newSystemErrorWithCause(fmt.Errorf(v.errmsg), v.cause) -+ -+ msg := err.Error() -+ if v.cause == "" && msg != v.errmsg { -+ t.Fatalf("expected err(%q) equal errmsg(%q)", msg, v.errmsg) -+ } -+ if v.cause != "" && msg == v.errmsg { -+ t.Fatalf("unexpected err(%q) equal errmsg(%q)", msg, v.errmsg) -+ } -+ -+ } -+} --- -2.7.4.3 - diff --git a/patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch b/patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch new file mode 100644 index 0000000000000000000000000000000000000000..f3b538cd00130b2aac248065053d2cf54d7aff3b --- /dev/null +++ b/patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch @@ -0,0 +1,24 @@ +From 76914fe3613afd7b7adb5a43e3dd7ba1ef33e654 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 15:21:45 +0800 +Subject: [PATCH] runc:add sysctl kernel.pid_max to whitelist + +--- + runc-1.1.3/libcontainer/configs/validate/validator.go | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/runc-1.1.3/libcontainer/configs/validate/validator.go b/runc-1.1.3/libcontainer/configs/validate/validator.go +index 627621a..3647aa2 100644 +--- a/runc-1.1.3/libcontainer/configs/validate/validator.go ++++ b/runc-1.1.3/libcontainer/configs/validate/validator.go +@@ -171,6 +171,7 @@ func (v *ConfigValidator) sysctl(config *configs.Config) error { + "kernel.shmmax": true, + "kernel.shmmni": true, + "kernel.shm_rmid_forced": true, ++ "kernel.pid_max": true, + } + + var ( +-- +2.30.0 + diff --git a/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch b/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch deleted file mode 100644 index 5eae2252ac7d7f0d4a9621c8f93a02169d2ab6a5..0000000000000000000000000000000000000000 --- a/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch +++ /dev/null @@ -1,53 +0,0 @@ -From fe398ce943f5da085507be6a164568544fc0d1c4 Mon Sep 17 00:00:00 2001 -From: Tim Potter -Date: Fri, 21 Apr 2017 12:41:02 +1000 -Subject: [PATCH 21/94] Fix misspelling of "properties" in various - places - -Change-Id: I69229a0ba2472b52edd4c444ac7820ade837726d -Signed-off-by: Tim Potter ---- - checkpoint.go | 2 +- - man/runc-checkpoint.8.md | 2 +- - restore.go | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/checkpoint.go b/checkpoint.go -index 78977d7..9b5663f 100644 ---- a/checkpoint.go -+++ b/checkpoint.go -@@ -33,7 +33,7 @@ checkpointed.`, - cli.BoolFlag{Name: "file-locks", Usage: "handle file locks, for safety"}, - cli.BoolFlag{Name: "pre-dump", Usage: "dump container's memory information only, leave the container running after this"}, - cli.StringFlag{Name: "manage-cgroups-mode", Value: "", Usage: "cgroups mode: 'soft' (default), 'full' and 'strict'"}, -- cli.StringSliceFlag{Name: "empty-ns", Usage: "create a namespace, but don't restore its properies"}, -+ cli.StringSliceFlag{Name: "empty-ns", Usage: "create a namespace, but don't restore its properties"}, - }, - Action: func(context *cli.Context) error { - if err := checkArgs(context, 1, exactArgs); err != nil { -diff --git a/man/runc-checkpoint.8.md b/man/runc-checkpoint.8.md -index b0ce2f3..4c81fd4 100644 ---- a/man/runc-checkpoint.8.md -+++ b/man/runc-checkpoint.8.md -@@ -22,4 +22,4 @@ checkpointed. - --file-locks handle file locks, for safety - --pre-dump dump container's memory information only, leave the container running after this - --manage-cgroups-mode value cgroups mode: 'soft' (default), 'full' and 'strict' -- --empty-ns value create a namespace, but don't restore its properies -+ --empty-ns value create a namespace, but don't restore its properties -diff --git a/restore.go b/restore.go -index 06f635f..7ddc337 100644 ---- a/restore.go -+++ b/restore.go -@@ -80,7 +80,7 @@ using the runc checkpoint command.`, - }, - cli.StringSliceFlag{ - Name: "empty-ns", -- Usage: "create a namespace, but don't restore its properies", -+ Usage: "create a namespace, but don't restore its properties", - }, - }, - Action: func(context *cli.Context) error { --- -2.7.4.3 - diff --git a/patch/0021-runc-disable-core-dump-during-exec.patch b/patch/0021-runc-disable-core-dump-during-exec.patch new file mode 100644 index 0000000000000000000000000000000000000000..332524eef54bd1aabd960face94132838e97b2ef --- /dev/null +++ b/patch/0021-runc-disable-core-dump-during-exec.patch @@ -0,0 +1,25 @@ +From 486d2a4b0756b0fe266f8ff79e5ecdb7ae5d680c Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 15:29:29 +0800 +Subject: [PATCH] runc:disable core dump during exec + +--- + runc-1.1.3/libcontainer/process_linux.go | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/runc-1.1.3/libcontainer/process_linux.go b/runc-1.1.3/libcontainer/process_linux.go +index 29408d7..75d05b7 100644 +--- a/runc-1.1.3/libcontainer/process_linux.go ++++ b/runc-1.1.3/libcontainer/process_linux.go +@@ -79,6 +79,8 @@ func (p *setnsProcess) signal(sig os.Signal) error { + } + + func (p *setnsProcess) start() (retErr error) { ++ unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) ++ defer unix.Prctl(unix.PR_SET_DUMPABLE, 1, 0, 0, 0) + defer p.messageSockPair.parent.Close() + // get the "before" value of oom kill count + oom, _ := p.manager.OOMKillCount() +-- +2.30.0 + diff --git a/patch/0022-Add-a-rootless-containers-section-on-README.patch b/patch/0022-Add-a-rootless-containers-section-on-README.patch deleted file mode 100644 index 80b8683eaece83a64d8c756403709618d9546054..0000000000000000000000000000000000000000 --- a/patch/0022-Add-a-rootless-containers-section-on-README.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e287eae0ba5cb39df6f09b3ce8436af3810986f3 Mon Sep 17 00:00:00 2001 -From: Jonh Wendell -Date: Fri, 21 Apr 2017 20:43:56 -0300 -Subject: [PATCH 22/94] Add a rootless containers section on README - -Closes #1413. - -Change-Id: I9058fea54d9f25c2fc0f07ca74a83300eed40b73 -Signed-off-by: Jonh Wendell ---- - README.md | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/README.md b/README.md -index ae1ab28..a951f0d 100644 ---- a/README.md -+++ b/README.md -@@ -117,8 +117,8 @@ Assuming you have an OCI bundle from the previous step you can execute the conta - The first way is to use the convenience command `run` that will handle creating, starting, and deleting the container after it exits. - - ```bash -+# run as root - cd /mycontainer -- - runc run mycontainerid - ``` - -@@ -165,8 +165,8 @@ Now we can go though the lifecycle operations in your shell. - - - ```bash -+# run as root - cd /mycontainer -- - runc create mycontainerid - - # view the container is created and in the "created" state -@@ -185,6 +185,22 @@ runc delete mycontainerid - This adds more complexity but allows higher level systems to manage runc and provides points in the containers creation to setup various settings after the container has created and/or before it is deleted. - This is commonly used to setup the container's network stack after `create` but before `start` where the user's defined process will be running. - -+#### Rootless containers -+`runc` has the ability to run containers without root privileges. This is called `rootless`. You need to pass some parameters to `runc` in order to run rootless containers. See below and compare with the previous version. Run the following commands as an ordinary user: -+```bash -+# Same as the first example -+mkdir ~/mycontainer -+cd ~/mycontainer -+mkdir rootfs -+docker export $(docker create busybox) | tar -C rootfs -xvf - -+ -+# The --rootless parameter instructs runc spec to generate a configuration for a rootless container, which will allow you to run the container as a non-root user. -+runc spec --rootless -+ -+# The --root parameter tells runc where to store the container state. It must be writable by the user. -+runc --root /tmp/runc run mycontainerid -+``` -+ - #### Supervisors - - `runc` can be used with process supervisors and init systems to ensure that containers are restarted when they exit. --- -2.7.4.3 - diff --git a/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch b/patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch similarity index 43% rename from patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch rename to patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch index 32fe3066a43d62b54eacfe3150f6dce4d34ed3ac..41a8b9cd82c3ab4fd901a0e21c4bf4bd4e76a880 100644 --- a/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch +++ b/patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch @@ -1,7 +1,7 @@ -From 60153d0c986ed01350a74fb93b39836b59e8f26e Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 20 Aug 2019 02:40:45 +0800 -Subject: [PATCH] runc: fix exec problem caused by libseccomp updating +From ca9d0d09ae435785482f21d2c49b4131a74c4382 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 15:35:51 +0800 +Subject: [PATCH] runc:fix exec problem caused by libseccomp updating reason: libseccomp updating causes runc exec performance degradation, which causes container health check failed and container @@ -18,24 +18,32 @@ takes about 1s Change-Id: I751ac8354394bd15a420ad8410b12ef3f75622a1 Signed-off-by: xiadanni + --- - libcontainer/seccomp/seccomp_linux.go | 3 +++ + runc-1.1.3/libcontainer/seccomp/seccomp_linux.go | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/libcontainer/seccomp/seccomp_linux.go b/libcontainer/seccomp/seccomp_linux.go -index db4bb4e..0c97da6 100644 ---- a/libcontainer/seccomp/seccomp_linux.go -+++ b/libcontainer/seccomp/seccomp_linux.go -@@ -29,6 +29,9 @@ var ( - // Setns calls, however, require a separate invocation, as they are not children - // of the init until they join the namespace - func InitSeccomp(config *configs.Seccomp) error { +diff --git a/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go b/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go +index e4b5750..a925be1 100644 +--- a/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go ++++ b/runc-1.1.3/libcontainer/seccomp/seccomp_linux.go +@@ -6,6 +6,7 @@ package seccomp + import ( + "errors" + "fmt" ++ "os" + + libseccomp "github.com/seccomp/libseccomp-golang" + "github.com/sirupsen/logrus" +@@ -30,6 +31,8 @@ const ( + // Returns the seccomp file descriptor if any of the filters include a + // SCMP_ACT_NOTIFY action, otherwise returns -1. + func InitSeccomp(config *configs.Seccomp) (int, error) { + os.Setenv("LIBSECCOMP_TRANSACTION_DISABLE", "1") + defer os.Unsetenv("LIBSECCOMP_TRANSACTION_DISABLE") -+ if config == nil { - return fmt.Errorf("cannot initialize Seccomp - nil config passed") + return -1, errors.New("cannot initialize Seccomp - nil config passed") } -- -1.8.3.1 +2.30.0 diff --git a/patch/0023-runc-add-log-message-for-cgroup-file-check.patch b/patch/0023-runc-add-log-message-for-cgroup-file-check.patch new file mode 100644 index 0000000000000000000000000000000000000000..fd7029edfa79f7ce55f70468fc729ea4f7cc20f6 --- /dev/null +++ b/patch/0023-runc-add-log-message-for-cgroup-file-check.patch @@ -0,0 +1,87 @@ +From fe0237c3d86a278561d14ead9254b8e68699f1eb Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 17:01:39 +0800 +Subject: [PATCH] runc:add log message for cgroup file check + +--- + runc-1.1.3/libcontainer/cgroups/file.go | 7 ++++- + runc-1.1.3/libcontainer/cgroups/fs/cpuset.go | 31 +++++++++++++++----- + 2 files changed, 29 insertions(+), 9 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/cgroups/file.go b/runc-1.1.3/libcontainer/cgroups/file.go +index 0cdaf74..bc7f0a3 100644 +--- a/runc-1.1.3/libcontainer/cgroups/file.go ++++ b/runc-1.1.3/libcontainer/cgroups/file.go +@@ -51,7 +51,12 @@ func WriteFile(dir, file, data string) error { + defer fd.Close() + if err := retryingWriteFile(fd, data); err != nil { + // Having data in the error message helps in debugging. +- return fmt.Errorf("failed to write %q: %w", data, err) ++ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) ++ if _, err = os.Stat(dir); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) ++ } ++ ++ return ret + } + return nil + } +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +index 341d5dc..ef1f633 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +@@ -25,14 +25,23 @@ func (s *CpusetGroup) Apply(path string, r *configs.Resources, pid int) error { + } + + func (s *CpusetGroup) Set(path string, r *configs.Resources) error { ++ var ret error + if r.CpusetCpus != "" { + if err := cgroups.WriteFile(path, "cpuset.cpus", r.CpusetCpus); err != nil { +- return err ++ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) ++ if _, err := os.Stat(path); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) ++ } ++ return ret + } + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { +- return err ++ ret = fmt.Errorf("failed to set cpuset.mems, %v", err) ++ if _, err := os.Stat(path); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) ++ } ++ return ret + } + } + return nil +@@ -231,13 +240,19 @@ func cpusetEnsureParent(current string) error { + // cpusetCopyIfNeeded copies the cpuset.cpus and cpuset.mems from the parent + // directory to the current directory if the file's contents are 0 + func cpusetCopyIfNeeded(current, parent string) error { +- currentCpus, currentMems, err := getCpusetSubsystemSettings(current) +- if err != nil { +- return err ++ if currentCpus, currentMems, err := getCpusetSubsystemSettings(current); err != nil { ++ ret := fmt.Errorf("failed copy current cgroup setting, %v", err) ++ if _, err := os.Stat(current); err != nil { ++ ret = fmt.Errorf("%v, %v", ret, err) ++ } ++ return ret + } +- parentCpus, parentMems, err := getCpusetSubsystemSettings(parent) +- if err != nil { +- return err ++ if parentCpus, parentMems, err := getCpusetSubsystemSettings(parent); err != nil { ++ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) ++ if _, err := os.Stat(parent); err != nil { ++ ret = fmt.Errorf("%v, %v", ret, err) ++ } ++ return ret + } + + if isEmptyCpuset(currentCpus) { +-- +2.30.0 + diff --git a/patch/0023-vendor-clean-up-to-be-better-written.patch b/patch/0023-vendor-clean-up-to-be-better-written.patch deleted file mode 100644 index 7dd13bad21bed7ea69edbd390d8ef83ecb3155f4..0000000000000000000000000000000000000000 --- a/patch/0023-vendor-clean-up-to-be-better-written.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d6c62e91d7763bb88287a052f6f5a3dc7bee5284 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 15 Apr 2017 17:31:39 +1000 -Subject: [PATCH 23/94] vendor: clean up to be better written - -vndr doesn't support non-top-level imports, and in addition we really -should be using tagged releases far more than we currently are -(*especially* when it come to the OCI specs). - -Change-Id: Ifb997a6d9edf2d89d6b2d440ea4fa305b1b4df18 -Signed-off-by: Aleksa Sarai ---- - tests/integration/spec.bats | 2 +- - vendor.conf | 28 +++++++++++++++++----------- - 2 files changed, 18 insertions(+), 12 deletions(-) - -diff --git a/tests/integration/spec.bats b/tests/integration/spec.bats -index e9f28fb..6061706 100644 ---- a/tests/integration/spec.bats -+++ b/tests/integration/spec.bats -@@ -72,7 +72,7 @@ function teardown() { - run git clone https://github.com/opencontainers/runtime-spec.git src/runtime-spec - [ "$status" -eq 0 ] - -- SPEC_COMMIT=$(grep runtime-spec ${TESTDIR}/../../vendor.conf | cut -d ' ' -f 2) -+ SPEC_COMMIT=$(grep '^github.com/opencontainers/runtime-spec' ${TESTDIR}/../../vendor.conf | cut -d ' ' -f 2) - run git -C src/runtime-spec reset --hard "${SPEC_COMMIT}" - - [ "$status" -eq 0 ] -diff --git a/vendor.conf b/vendor.conf -index 17a546e..6ab9bf8 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -1,15 +1,21 @@ --github.com/Sirupsen/logrus 26709e2714106fb8ad40b773b711ebce25b78914 --github.com/coreos/go-systemd 48702e0da86bd25e76cfef347e2adeb434a0d0a6 --github.com/coreos/pkg/dlopen 3ac0863d7acf3bc44daf49afef8919af12f704ef --github.com/docker/docker 0f5c9d301b9b1cca66b3ea0f9dec3b5317d3686d --github.com/docker/go-units 9b001659dd36225e356b4467c465d732e745f53d --github.com/godbus/dbus c7fdd8b5cd55e87b4e1f4e372cdb1db61dd6c66f --github.com/golang/protobuf/proto f7137ae6b19afbfd61a94b746fda3b3fe0491874 -+# OCI runtime-spec. When updating this, make sure you use a version tag rather -+# than a commit ID so it's much more obvious what version of the spec we are -+# using. -+github.com/opencontainers/runtime-spec v1.0.0-rc5 -+# Core libcontainer functionality. - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 --github.com/opencontainers/runtime-spec/specs-go 035da1dca3dfbb00d752eb58b0b158d6129f3776 --github.com/opencontainers/selinux ba1aefe8057f1d0cfb8e88d0ec1dc85925ef987d -+github.com/opencontainers/selinux v1.0.0-rc1 - github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 --github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba --github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e -+github.com/Sirupsen/logrus 26709e2714106fb8ad40b773b711ebce25b78914 -+github.com/syndtr/gocapability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/vishvananda/netlink 1e2e08e8a2dcdacaae3f14ac44c5cfa31361f270 -+# systemd integration. -+github.com/coreos/go-systemd v14 -+github.com/coreos/pkg v3 -+github.com/godbus/dbus v3 -+github.com/golang/protobuf f7137ae6b19afbfd61a94b746fda3b3fe0491874 -+# Command-line interface. -+github.com/docker/docker 0f5c9d301b9b1cca66b3ea0f9dec3b5317d3686d -+github.com/docker/go-units v0.2.0 -+github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e - golang.org/x/sys 9a7256cb28ed514b4e1e5f68959914c4c28a92e0 https://github.com/golang/sys --- -2.7.4.3 - diff --git a/patch/0024-Optimizing-looping-over-namespaces.patch b/patch/0024-Optimizing-looping-over-namespaces.patch deleted file mode 100644 index 7d8dcec3d7646781f05d95d5941ff00b18bac5bf..0000000000000000000000000000000000000000 --- a/patch/0024-Optimizing-looping-over-namespaces.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 6108649ff1f4f270bfeb5f2aec1de8917d9b7609 Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Tue, 25 Apr 2017 15:56:40 +0530 -Subject: [PATCH 24/94] Optimizing looping over namespaces - -Change-Id: I82612d1f8161b4656011ba45b619dcd9150a3c2f -Signed-off-by: Harshal Patil ---- - libcontainer/container_linux.go | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index b5563d6..aeaf583 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1454,18 +1454,17 @@ func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceTyp - configs.NEWNS, - } - -- // Remove namespaces that we don't need to join. -- var nsTypes []configs.NamespaceType - for _, ns := range order { -- if c.config.Namespaces.Contains(ns) { -- nsTypes = append(nsTypes, ns) -+ -+ // Remove namespaces that we don't need to join. -+ if !c.config.Namespaces.Contains(ns) { -+ continue - } -- } -- for _, nsType := range nsTypes { -- if p, ok := namespaces[nsType]; ok && p != "" { -+ -+ if p, ok := namespaces[ns]; ok && p != "" { - // check if the requested namespace is supported -- if !configs.IsNamespaceSupported(nsType) { -- return nil, newSystemError(fmt.Errorf("namespace %s is not supported", nsType)) -+ if !configs.IsNamespaceSupported(ns) { -+ return nil, newSystemError(fmt.Errorf("namespace %s is not supported", ns)) - } - // only set to join this namespace if it exists - if _, err := os.Lstat(p); err != nil { -@@ -1476,9 +1475,11 @@ func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceTyp - if strings.ContainsRune(p, ',') { - return nil, newSystemError(fmt.Errorf("invalid path %s", p)) - } -- paths = append(paths, fmt.Sprintf("%s:%s", configs.NsName(nsType), p)) -+ paths = append(paths, fmt.Sprintf("%s:%s", configs.NsName(ns), p)) - } -+ - } -+ - return paths, nil - } - --- -2.7.4.3 - diff --git a/patch/0024-runc-unified-use-of-logpipe.patch b/patch/0024-runc-unified-use-of-logpipe.patch new file mode 100644 index 0000000000000000000000000000000000000000..6fb5be8753c85752ad53424b67e3623cd21a9992 --- /dev/null +++ b/patch/0024-runc-unified-use-of-logpipe.patch @@ -0,0 +1,125 @@ +From 6d50719513bcd5994526232facf4f289b9e0e75a Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Mon, 24 Oct 2022 20:44:25 +0800 +Subject: [PATCH] runc:unified use of logpipe + +--- + runc-1.1.3/libcontainer/container_linux.go | 1 - + .../libcontainer/standard_init_linux.go | 30 +------------------ + runc-1.1.3/main.go | 25 ---------------- + 3 files changed, 1 insertion(+), 55 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/container_linux.go b/runc-1.1.3/libcontainer/container_linux.go +index 5ef5a9a..10890c1 100644 +--- a/runc-1.1.3/libcontainer/container_linux.go ++++ b/runc-1.1.3/libcontainer/container_linux.go +@@ -355,7 +355,6 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := parent.start(); err != nil { +- printCgroupInfo(c.config.Cgroups.Path) + return fmt.Errorf("unable to start container process: %w", err) + } + +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index 8a60501..99e7003 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -276,34 +276,6 @@ func (l *linuxStandardInit) Init() error { + return err + } + +- if err := system.Exec(name, l.config.Args[0:], os.Environ()); err != nil { +- printCgroupInfo("") +- return err +- } +- return nil +-} +- +-func printCgroupInfo(path string) { +- cgroupRoot := "/sys/fs/cgroup" +- infoFileList := []string{ +- "/proc/meminfo", +- "/sys/fs/cgroup/memory/memory.stat", +- filepath.Join(cgroupRoot, "files", path, "files.limit"), +- filepath.Join(cgroupRoot, "files", path, "files.usage"), +- filepath.Join(cgroupRoot, "pids", path, "pids.max"), +- filepath.Join(cgroupRoot, "pids", path, "pids.current"), +- filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), +- filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), +- filepath.Join(cgroupRoot, "memory", path, "memory.stat"), +- filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), +- } +- for _, file := range infoFileList { +- printFileContent(file) +- } +-} +- +-func printFileContent(path string) { +- output, err := ioutil.ReadFile(path) +- logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) ++ return system.Exec(name, l.config.Args[0:], os.Environ()) + } + +diff --git a/runc-1.1.3/main.go b/runc-1.1.3/main.go +index 6e9101a..e624347 100644 +--- a/runc-1.1.3/main.go ++++ b/runc-1.1.3/main.go +@@ -1,7 +1,6 @@ + package main + + import ( +- "encoding/json" + "errors" + "fmt" + "io" +@@ -11,13 +10,11 @@ import ( + "runtime" + "strconv" + "strings" +- "time" + + "github.com/opencontainers/runc/libcontainer/seccomp" + "github.com/opencontainers/runtime-spec/specs-go" + + "github.com/sirupsen/logrus" +- logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "github.com/urfave/cli" + ) + +@@ -219,12 +216,6 @@ func configLogrus(context *cli.Context) error { + return err + } + logrus.SetOutput(f) +- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") +- if serr != nil { +- logToFile(f, "error", fmt.Sprintf("Leo: new syslog hook get %s", serr)) +- } else { +- logrus.AddHook(hook) +- } + } + if logLevel := context.GlobalString("log-level"); logLevel != "" { + lvl, err := logrus.ParseLevel(logLevel) +@@ -241,19 +232,3 @@ func configLogrus(context *cli.Context) error { + return nil + } + +-func logToFile(f io.Writer, level string, msg string) { +- var ( +- log struct { +- Level string +- Msg string +- Time time.Time +- } +- ) +- log.Level = level +- log.Msg = msg +- log.Time = time.Now() +- s, err := json.Marshal(log) +- if err != nil { +- fmt.Fprint(f, string(s)) +- } +-} +-- +2.30.0 + diff --git a/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch b/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch deleted file mode 100644 index f67965c84f36e7eb072701669f3dcedfc6826ff5..0000000000000000000000000000000000000000 --- a/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 06f6824badbdc3a8c89d106abe5337c869a7d95f Mon Sep 17 00:00:00 2001 -From: Jonh Wendell -Date: Thu, 27 Apr 2017 10:52:31 -0300 -Subject: [PATCH 25/94] Add a rootless section to "spec" man page and - command help - -Change-Id: I6211c1adf2f6428652c75cd7cb76b86d782e7237 -Signed-off-by: Jonh Wendell ---- - man/runc-spec.8.md | 3 +++ - spec.go | 9 +++++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/man/runc-spec.8.md b/man/runc-spec.8.md -index 3c69e23..4f8e9bb 100644 ---- a/man/runc-spec.8.md -+++ b/man/runc-spec.8.md -@@ -45,5 +45,8 @@ already running as root, you can use sudo to give runc root privilege. For - example: "sudo runc start container1" will give runc root privilege to start the - container on your host. - -+Alternatively, you can start a rootless container, which has the ability to run without root privileges. For this to work, the specification file needs to be adjusted accordingly. You can pass the parameter --rootless to this command to generate a proper rootless spec file. -+ - # OPTIONS - --bundle value, -b value path to the root of the bundle directory -+ --rootless generate a configuration for a rootless container -diff --git a/spec.go b/spec.go -index 9024ad4..a15c84e 100644 ---- a/spec.go -+++ b/spec.go -@@ -51,13 +51,18 @@ must be unique on your host. - - An alternative for generating a customized spec config is to use "oci-runtime-tool", the - sub-command "oci-runtime-tool generate" has lots of options that can be used to do any --customizations as you want, see [runtime-tools](https://github.com/opencontainers/runtime-tools) -+customizations as you want, see runtime-tools (https://github.com/opencontainers/runtime-tools) - to get more information. - - When starting a container through runc, runc needs root privilege. If not - already running as root, you can use sudo to give runc root privilege. For - example: "sudo runc start container1" will give runc root privilege to start the --container on your host.`, -+container on your host. -+ -+Alternatively, you can start a rootless container, which has the ability to run -+without root privileges. For this to work, the specification file needs to be -+adjusted accordingly. You can pass the parameter --rootless to this command to -+generate a proper rootless spec file.`, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "bundle, b", --- -2.7.4.3 - diff --git a/patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch b/patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch new file mode 100644 index 0000000000000000000000000000000000000000..ba915ef85dbd3fcb8deb2197e90590a697f95eef --- /dev/null +++ b/patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch @@ -0,0 +1,147 @@ +From 2c786d0cb9f93c52c8929822cdfd0f795bcf64be Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Tue, 25 Oct 2022 10:58:03 +0800 +Subject: [PATCH] runc:support set cpuset.prefer_cpus using --cpuset-cpus + +--- + runc-1.1.3/libcontainer/cgroups/fs/cpuset.go | 118 ++++++++++++++++++- + 1 file changed, 114 insertions(+), 4 deletions(-) + +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +index ef1f633..989f4ec 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +@@ -24,16 +24,126 @@ func (s *CpusetGroup) Apply(path string, r *configs.Resources, pid int) error { + return s.ApplyDir(path, r, pid) + } + +-func (s *CpusetGroup) Set(path string, r *configs.Resources) error { +- var ret error +- if r.CpusetCpus != "" { +- if err := cgroups.WriteFile(path, "cpuset.cpus", r.CpusetCpus); err != nil { ++func parseCpus(cpus string) (map[int]bool, error) { ++ persedCpus := make(map[int]bool) ++ for _, cpu := range strings.Split(cpus, ",") { ++ invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpu) ++ if cpuInt, err := strconv.Atoi(cpu); err == nil { ++ if cpuInt < 0 { ++ return nil, invalidFormatError ++ } ++ persedCpus[cpuInt] = true ++ continue ++ } ++ ++ ranges := strings.Split(cpu, "-") ++ if len(ranges) != 2 { ++ return nil, invalidFormatError ++ } ++ lower, err1 := strconv.Atoi(ranges[0]) ++ upper, err2 := strconv.Atoi(ranges[1]) ++ if err1 != nil || err2 != nil { ++ return nil, invalidFormatError ++ } ++ if lower < 0 || upper < 0 { ++ return nil, invalidFormatError ++ } ++ if lower > upper { ++ return nil, invalidFormatError ++ } ++ const max = 8192 ++ if upper > max { ++ return nil, fmt.Errorf("value of out range, maximum is %d", max) ++ } ++ for i := lower; i <= upper; i++ { ++ persedCpus[i] = true ++ } ++ } ++ ++ return persedCpus, nil ++} ++ ++func checkInCpuset(cpuset, prefer map[int]bool) bool { ++ for k := range prefer { ++ if _, ok := cpuset[k]; !ok { ++ return false ++ } ++ } ++ return true ++} ++ ++func parseCpuset(cpuset string) (string, string, error) { ++ var cpusetStr, preferCpusStr string ++ invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpuset) ++ ++ splits := strings.Split(cpuset, "+") ++ if len(splits) == 1 { ++ cpusetStr = cpuset ++ } else if len(splits) == 2 { ++ if !strings.HasSuffix(splits[0], ",") { ++ return "", "", invalidFormatError ++ } ++ cpusetStr = strings.TrimSuffix(splits[0], ",") ++ preferCpusStr = splits[1] ++ ++ cpusetMap, err := parseCpus(cpusetStr) ++ if err != nil { ++ return "", "", err ++ } ++ preferCpusMap, err := parseCpus(preferCpusStr) ++ if err != nil { ++ return "", "", err ++ } ++ if !checkInCpuset(cpusetMap, preferCpusMap) { ++ return "", "", fmt.Errorf("invalid preferred_cpus: %s not in cpuset: %s", preferCpusStr, cpusetStr) ++ } ++ } else { ++ return "", "", invalidFormatError ++ } ++ ++ return cpusetStr, preferCpusStr, nil ++} ++ ++func (s *CpusetGroup) setCpuset(path, cpuset string) error { ++ if _, err := os.Stat(filepath.Join(path, "cpuset.preferred_cpus")); err != nil { ++ var ret error ++ if err := writeFile(path, "cpuset.cpus", cpuset); err != nil { + ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) + if _, err := os.Stat(path); err != nil { + ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) + } + return ret + } ++ return nil ++ } ++ ++ cpusetStr, preferCpusStr, err := parseCpuset(cpuset) ++ if err != nil { ++ return err ++ } ++ ++ if _, err := os.Stat(path); err != nil { ++ return fmt.Errorf("failed to stat %v, %v", path, err) ++ } ++ if err := writeFile(path, "cpuset.preferred_cpus", ""); err != nil { ++ return fmt.Errorf("failed to set cpuset.preferred_cpus to nil, %v", err) ++ } ++ if err := writeFile(path, "cpuset.cpus", cpusetStr); err != nil { ++ return fmt.Errorf("failed to set cpuset.cpus, %v", err) ++ } ++ if preferCpusStr != "" { ++ if err := writeFile(path, "cpuset.preferred_cpus", preferCpusStr); err != nil { ++ return fmt.Errorf("failed to set cpuset.preferred_cpus, %v", err) ++ } ++ } ++ ++ return nil ++} ++ ++func (s *CpusetGroup) Set(path string, r *configs.Resources) error { ++ var ret error ++ if r.CpusetCpus != "" { ++ return s.setCpuset(path, cgroup.Resources.CpusetCpus) + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { +-- +2.30.0 + diff --git a/patch/0026-Allow-updating-container-pids-limit.patch b/patch/0026-Allow-updating-container-pids-limit.patch deleted file mode 100644 index 91177cfa373963a9dc782a4fbcf19152c0ac144d..0000000000000000000000000000000000000000 --- a/patch/0026-Allow-updating-container-pids-limit.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 01218c77284209117e40350419fb60f76896a369 Mon Sep 17 00:00:00 2001 -From: Kenfe-Mickael Laventure -Date: Wed, 26 Apr 2017 09:53:20 -0700 -Subject: [PATCH 26/94] Allow updating container pids limit - -Change-Id: I5cc0d8804b1de3da943e4651806d0041eb33d7f2 -Signed-off-by: Kenfe-Mickael Laventure ---- - tests/integration/update.bats | 23 +++++++++++++++++++++-- - update.go | 9 +++++++++ - 2 files changed, 30 insertions(+), 2 deletions(-) - -diff --git a/tests/integration/update.bats b/tests/integration/update.bats -index 4a6bf7f..a3f3782 100644 ---- a/tests/integration/update.bats -+++ b/tests/integration/update.bats -@@ -33,6 +33,9 @@ function setup() { - "blockio": { - "blkioWeight": 1000 - }, -+ "pids": { -+ "limit": 20 -+ }, - EOF - ) - DATA=$(echo ${DATA} | sed 's/\n/\\n/g') -@@ -61,7 +64,7 @@ function check_cgroup_value() { - wait_for_container 15 1 test_update - - # get the cgroup paths -- for g in MEMORY CPUSET CPU BLKIO; do -+ for g in MEMORY CPUSET CPU BLKIO PIDS; do - base_path=$(grep "cgroup" /proc/self/mountinfo | gawk 'toupper($NF) ~ /\<'${g}'\>/ { print $5; exit }') - eval CGROUP_${g}="${base_path}/runc-update-integration-test" - done -@@ -78,6 +81,7 @@ function check_cgroup_value() { - check_cgroup_value $CGROUP_MEMORY "memory.kmem.tcp.limit_in_bytes" 11534336 - check_cgroup_value $CGROUP_MEMORY "memory.limit_in_bytes" 33554432 - check_cgroup_value $CGROUP_MEMORY "memory.soft_limit_in_bytes" 25165824 -+ check_cgroup_value $CGROUP_PIDS "pids.max" 20 - - # update blkio-weight - runc update test_update --blkio-weight 500 -@@ -160,6 +164,11 @@ function check_cgroup_value() { - [ "$status" -eq 0 ] - check_cgroup_value $CGROUP_MEMORY "memory.kmem.tcp.limit_in_bytes" 41943040 - -+ # update pids limit -+ runc update test_update --pids-limit 10 -+ [ "$status" -eq 0 ] -+ check_cgroup_value $CGROUP_PIDS "pids.max" 10 -+ - # Revert to the test initial value via json on stding - runc update -r - test_update < +Date: Tue, 25 Oct 2022 11:18:42 +0800 +Subject: [PATCH] runc:add DT for cpuset.preferred_cpus setting + +--- + .../libcontainer/cgroups/fs/cpuset_test.go | 217 ++++++++++++++++++ + .../tests/test_docker_cpuset_preferred.sh | 41 ++++ + 2 files changed, 258 insertions(+) + create mode 100755 runc-1.1.3/tests/test_docker_cpuset_preferred.sh + +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/cpuset_test.go b/runc-1.1.3/libcontainer/cgroups/fs/cpuset_test.go +index 8933b3c..0c72c7d 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/cpuset_test.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/cpuset_test.go +@@ -1,6 +1,9 @@ + package fs + + import ( ++ "os" ++ "path/filepath" ++ "strings" + "reflect" + "testing" + +@@ -66,6 +69,220 @@ func TestCPUSetSetCpus(t *testing.T) { + } + } + ++type cpusetTestCase struct { ++ name string ++ dir string ++ cpuset string ++ wantPrefer string ++ wantCpuset string ++ errorStr string ++ wantErr bool ++} ++ ++func getCpusetTestcaes() []cpusetTestCase { ++ testDir := "/sys/fs/cgroup/cpuset/runc-test" ++ errStr1 := "failed to set" ++ errStr2 := "invalid cpuset format" ++ errStr3 := "invalid preferred_cpus" ++ return []cpusetTestCase{ ++ { ++ name: "Test1", ++ cpuset: "0,1,2,+1,2", ++ dir: testDir, ++ wantPrefer: "1-2", ++ wantCpuset: "0-2", ++ wantErr: false, ++ }, ++ { ++ name: "Test2", ++ cpuset: "0-3,+1,2", ++ dir: testDir, ++ wantPrefer: "1-2", ++ wantCpuset: "0-3", ++ wantErr: false, ++ }, ++ { ++ name: "Test3", ++ cpuset: "0,1,2,+1,2", ++ dir: "/aaa/bbb/invalid", ++ wantErr: true, ++ errorStr: errStr1, ++ }, ++ { ++ name: "Test4", ++ cpuset: "0,1,2,+1,2", ++ dir: "", ++ wantErr: true, ++ errorStr: errStr1, ++ }, ++ { ++ name: "Test5", ++ cpuset: "0,1,2,+1,2", ++ dir: "/" + strings.Repeat("a", 4097), ++ wantErr: true, ++ errorStr: errStr1, ++ }, ++ { ++ name: "Test6", ++ cpuset: "0,1,2,a,+1", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test7", ++ cpuset: "0,1,2,+1,+2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test8", ++ cpuset: "0,1,1.2,+1,2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test9", ++ cpuset: "0,-1,2,+1,2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test10", ++ cpuset: "012+1,2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test11", ++ cpuset: "0,1,2,+3-1", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test12", ++ cpuset: "0,1,2,+4", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr3, ++ }, ++ { ++ name: "Test13", ++ cpuset: "1-3+1-2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test14", ++ cpuset: "1-3,+1,2", ++ dir: testDir, ++ wantPrefer: "1-2", ++ wantCpuset: "1-3", ++ wantErr: false, ++ }, ++ { ++ name: "Test15", ++ cpuset: "1-3,+1-2", ++ dir: testDir, ++ wantPrefer: "1-2", ++ wantCpuset: "1-3", ++ wantErr: false, ++ }, ++ { ++ name: "Test16", ++ cpuset: "1-3,+1,4", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr3, ++ }, ++ { ++ name: "Test17", ++ cpuset: "1-3,+1-2-3", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test18", ++ cpuset: "1-3,+a-2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test19", ++ cpuset: "1-3,+3-2", ++ dir: testDir, ++ wantErr: true, ++ errorStr: errStr2, ++ }, ++ { ++ name: "Test20", ++ cpuset: "1-3,+2-10000", ++ dir: testDir, ++ wantErr: true, ++ errorStr: "value of out range", ++ }, ++ } ++} ++ ++func TestCpusetSetCpusetCpus(t *testing.T) { ++ cgroupRoot := "/sys/fs/cgroup" ++ testDir := filepath.Join(cgroupRoot, "cpuset", "runc-test") ++ err := os.MkdirAll(testDir, 0600) ++ if err != nil { ++ t.Fatal(err) ++ } ++ defer func() { ++ err := os.RemoveAll(testDir) ++ if err != nil { ++ t.Fatal(err) ++ } ++ }() ++ ++ cpuset := &CpusetGroup{} ++ tests := getCpusetTestcaes() ++ for _, tt := range tests { ++ t.Run(tt.name, func(t *testing.T) { ++ err := cpuset.setCpuset(tt.dir, tt.cpuset) ++ if (err != nil) != tt.wantErr { ++ t.Fatal(err) ++ } ++ ++ if err != nil { ++ if !strings.Contains(err.Error(), tt.errorStr) { ++ t.Fatalf("Get the wrong error, want %v, get %v", tt.errorStr, err.Error()) ++ } ++ return ++ } ++ ++ value, err := getCgroupParamString(tt.dir, "cpuset.cpus") ++ if err != nil { ++ t.Fatalf("Failed to parse cpuset.cpus - %s", err) ++ } ++ ++ if value != tt.wantCpuset { ++ t.Fatal("Got the wrong value, set cpuset.cpus failed.") ++ } ++ ++ value, err = getCgroupParamString(tt.dir, "cpuset.preferred_cpus") ++ if err != nil { ++ t.Fatalf("Failed to parse cpuset.cpus - %s", err) ++ } ++ ++ if value != tt.wantPrefer { ++ t.Fatal("Got the wrong value, set cpuset.cpus failed.") ++ } ++ }) ++ } ++} ++ + func TestCPUSetSetMems(t *testing.T) { + path := tempDir(t, "cpuset") + +diff --git a/runc-1.1.3/tests/test_docker_cpuset_preferred.sh b/runc-1.1.3/tests/test_docker_cpuset_preferred.sh +new file mode 100755 +index 0000000..c80db24 +--- /dev/null ++++ b/runc-1.1.3/tests/test_docker_cpuset_preferred.sh +@@ -0,0 +1,41 @@ ++#!/bin/bash ++ ++# Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. ++# rubik licensed under the Mulan PSL v2. ++# You can use this software according to the terms and conditions of the Mulan PSL v2. ++# You may obtain a copy of Mulan PSL v2 at: ++# http://license.coscl.org.cn/MulanPSL2 ++# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR ++# PURPOSE. ++# See the Mulan PSL v2 for more details. ++# Create: 2022-05-09 ++# Description:set preferred cpuset ++ ++which docker > /dev/null ++if [ $? -ne 0 ]; then ++ echo "environment not supported, skip test" ++ exit 0 ++fi ++ ++image="rnd-dockerhub.huawei.com/official/euleros:latest" ++containerID=$(docker run -itd --cpuset-cpus 0,1,+1 $image sh) ++if [ $? -ne 0 ]; then ++ echo "FAILED: start container failed" ++ exit 1 ++fi ++ ++cpuset=$(cat /sys/fs/cgroup/cpuset/docker/"$containerID"/cpuset.cpus) ++preferred_cpuset=$(cat /sys/fs/cgroup/cpuset/docker/"$containerID"/cpuset.preferred_cpus) ++if [ "$cpuset" != "0-1" ]; then ++ echo "FAILED: get wrong cpuset value" ++ exit 1 ++fi ++if [ "$preferred_cpuset" != "1" ]; then ++ echo "FAILED: get wrong preferred_cpuset value" ++ exit 1 ++fi ++ ++docker rm -f "$containerID" > /dev/null ++echo "PASS" ++exit 0 +-- +2.30.0 + diff --git a/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch b/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch deleted file mode 100644 index 17f1e2a4a956b66aee13aff9949303bbdf56c90e..0000000000000000000000000000000000000000 --- a/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch +++ /dev/null @@ -1,59 +0,0 @@ -From e35db3fff6d86c31ca0203ef02ffa1cf2b05bf89 Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Fri, 28 Apr 2017 10:12:56 +0530 -Subject: [PATCH 27/94] Remove redundant declaraion of namespace - slice - -Change-Id: I7e7e45cec65264a91ef3dec804953a1285b23b96 -Signed-off-by: Harshal Patil ---- - libcontainer/configs/namespaces_unix.go | 6 +++--- - libcontainer/container_linux.go | 11 +---------- - 2 files changed, 4 insertions(+), 13 deletions(-) - -diff --git a/libcontainer/configs/namespaces_unix.go b/libcontainer/configs/namespaces_unix.go -index 8beba9d..1f0b3ee 100644 ---- a/libcontainer/configs/namespaces_unix.go -+++ b/libcontainer/configs/namespaces_unix.go -@@ -64,12 +64,12 @@ func IsNamespaceSupported(ns NamespaceType) bool { - - func NamespaceTypes() []NamespaceType { - return []NamespaceType{ -+ NEWUSER, // Keep user NS always first, don't move it. -+ NEWIPC, -+ NEWUTS, - NEWNET, - NEWPID, - NEWNS, -- NEWUTS, -- NEWIPC, -- NEWUSER, - } - } - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index aeaf583..173a3f0 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1444,17 +1444,8 @@ func (c *linuxContainer) currentState() (*State, error) { - // can setns in order. - func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceType]string) ([]string, error) { - paths := []string{} -- order := []configs.NamespaceType{ -- // The user namespace *must* be done first. -- configs.NEWUSER, -- configs.NEWIPC, -- configs.NEWUTS, -- configs.NEWNET, -- configs.NEWPID, -- configs.NEWNS, -- } - -- for _, ns := range order { -+ for _, ns := range configs.NamespaceTypes() { - - // Remove namespaces that we don't need to join. - if !c.config.Namespaces.Contains(ns) { --- -2.7.4.3 - diff --git a/patch/0027-runc-modify-runc-Makefile.patch b/patch/0027-runc-modify-runc-Makefile.patch new file mode 100644 index 0000000000000000000000000000000000000000..81a7f96f8bad6e25bec477abf93d6a3f29987610 --- /dev/null +++ b/patch/0027-runc-modify-runc-Makefile.patch @@ -0,0 +1,79 @@ +From c102651a124775ec8c92b774086c46f76407e9d8 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Wed, 26 Oct 2022 15:34:29 +0800 +Subject: [PATCH] runc:modify runc Makefile + +--- + runc-1.1.3/Makefile | 28 ++++++++++++++++++++++------ + 1 file changed, 22 insertions(+), 6 deletions(-) + +diff --git a/runc-1.1.3/Makefile b/runc-1.1.3/Makefile +index cf82c0c..34b5347 100644 +--- a/runc-1.1.3/Makefile ++++ b/runc-1.1.3/Makefile +@@ -10,9 +10,12 @@ GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") + RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) + PROJECT := github.com/opencontainers/runc + BUILDTAGS ?= seccomp +-COMMIT ?= $(shell git describe --dirty --long --always) ++COMMIT ?= $(shell cat ./git-commit | head -c 40) + VERSION := $(shell cat ./VERSION) + ++BEP_DIR := "/tmp/runc-build-bep" ++BEP_FLAG := "-tmpdir=${BEP_DIR}" ++ + ifeq ($(shell $(GO) env GOOS),linux) + ifeq (,$(filter $(shell $(GO) env GOARCH),mips mipsle mips64 mips64le ppc64)) + ifeq (,$(findstring -race,$(EXTRA_FLAGS))) +@@ -22,23 +25,33 @@ ifeq ($(shell $(GO) env GOOS),linux) + endif + GO_BUILD := $(GO) build -trimpath $(GO_BUILDMODE) $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \ + -ldflags "-X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" +-GO_BUILD_STATIC := CGO_ENABLED=1 $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo osusergo" \ +- -ldflags "-extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" ++GO_BUILD_STATIC := $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) static_build cgo netgo osusergo" + + GPG_KEYID ?= asarai@suse.de + + .DEFAULT: runc + + runc: +- $(GO_BUILD) -o runc . ++ mkdir -p ${BEP_DIR} ++ $(GO_BUILD) $(BEP_FLAG) -buildid=IdByIsula -o runc . + + all: runc recvtty sd-helper seccompagent + + recvtty sd-helper seccompagent: +- $(GO_BUILD) -o contrib/cmd/$@/$@ ./contrib/cmd/$@ ++ $(GO_BUILD) $(BEP_FLAG) -buildid=IdByIsula -o contrib/cmd/$@/$@ ./contrib/cmd/$@ ++ ++LD_FLAGS='-buildid=none -tmpdir=/tmp/bep-runc -linkmode=external -extldflags=-Wl,-z,relro,-z,now \ ++ -extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS) \ ++ ' + + static: +- $(GO_BUILD_STATIC) -o runc . ++ rm -rf /tmp/bep-runc && mkdir /tmp/bep-runc ++ CGO_ENABLED=1 \ ++ CGO_CFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ ++ CGO_CPPFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ ++ CGO_LDFLAGS_ALLOW='-Wl,-z,relro,-z,now' \ ++ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \ ++ $(GO_BUILD_STATIC) -buildmode=pie -ldflags $(LD_FLAGS) -o runc . + + releaseall: RELEASE_ARGS := "-a arm64 -a armel -a armhf -a ppc64le -a s390x" + releaseall: release +@@ -70,6 +83,9 @@ runcimage: + + test: unittest integration rootlessintegration + ++check: ++ go test -v ./libcontainer ++ + localtest: localunittest localintegration localrootlessintegration + + unittest: runcimage +-- +2.30.0 + diff --git a/patch/0028-Revert-saneTerminal.patch b/patch/0028-Revert-saneTerminal.patch deleted file mode 100644 index 8336f37f5ecde412689aaaa8b6d8f91cbfcd2377..0000000000000000000000000000000000000000 --- a/patch/0028-Revert-saneTerminal.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 34dc868ee8515be89835bc98ccbf01f22bd6b1b9 Mon Sep 17 00:00:00 2001 -From: Michael Crosby -Date: Wed, 7 Jun 2017 10:51:42 -0700 -Subject: [PATCH 28/94] Revert saneTerminal - -Keep the ONCLR for the terminal created by runc for backwards compat -support of older clients. - -Change-Id: Ibdf33687262f13ef98c882328d55c9c4212ce0b6 -Signed-off-by: Michael Crosby ---- - libcontainer/console_linux.go | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libcontainer/console_linux.go b/libcontainer/console_linux.go -index 5e364a8..5927bdc 100644 ---- a/libcontainer/console_linux.go -+++ b/libcontainer/console_linux.go -@@ -21,9 +21,6 @@ func newConsole() (Console, error) { - if err != nil { - return nil, err - } -- if err := saneTerminal(master); err != nil { -- return nil, err -- } - console, err := ptsname(master) - if err != nil { - return nil, err --- -2.7.4.3 - diff --git a/patch/0028-runc-cgroup-apply-method-modify.patch b/patch/0028-runc-cgroup-apply-method-modify.patch new file mode 100644 index 0000000000000000000000000000000000000000..3b4ca71e6791c76a130c43c2cb01d13db961e672 --- /dev/null +++ b/patch/0028-runc-cgroup-apply-method-modify.patch @@ -0,0 +1,267 @@ +From acf803b2e77f2d6f9a9868c5ca25e27ada413f30 Mon Sep 17 00:00:00 2001 +From: zhong-jiawei-1 +Date: Thu, 27 Oct 2022 10:05:29 +0800 +Subject: [PATCH] runc:cgroup apply method modify + +--- + runc-1.1.3/libcontainer/cgroups/fs/cpuset.go | 15 ++- + runc-1.1.3/libcontainer/cgroups/fs/files.go | 23 ++--- + runc-1.1.3/libcontainer/cgroups/fs/utils.go | 97 +++++++++++++++++++ + runc-1.1.3/libcontainer/rootfs_linux.go | 1 + + .../libcontainer/standard_init_linux.go | 4 +- + runc-1.1.3/main.go | 1 - + 6 files changed, 119 insertions(+), 22 deletions(-) + create mode 100644 runc-1.1.3/libcontainer/cgroups/fs/utils.go + +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +index 989f4ec..379407e 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/cpuset.go +@@ -1,7 +1,9 @@ + package fs + + import ( ++ "fmt" + "errors" ++ "io/ioutil" + "os" + "path/filepath" + "strconv" +@@ -9,6 +11,7 @@ import ( + + "golang.org/x/sys/unix" + ++ "github.com/sirupsen/logrus" + "github.com/opencontainers/runc/libcontainer/cgroups" + "github.com/opencontainers/runc/libcontainer/cgroups/fscommon" + "github.com/opencontainers/runc/libcontainer/configs" +@@ -143,7 +146,7 @@ func (s *CpusetGroup) setCpuset(path, cpuset string) error { + func (s *CpusetGroup) Set(path string, r *configs.Resources) error { + var ret error + if r.CpusetCpus != "" { +- return s.setCpuset(path, cgroup.Resources.CpusetCpus) ++ return s.setCpuset(path, r.CpusetCpus) + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { +@@ -350,14 +353,20 @@ func cpusetEnsureParent(current string) error { + // cpusetCopyIfNeeded copies the cpuset.cpus and cpuset.mems from the parent + // directory to the current directory if the file's contents are 0 + func cpusetCopyIfNeeded(current, parent string) error { +- if currentCpus, currentMems, err := getCpusetSubsystemSettings(current); err != nil { ++ var ( ++ err error ++ currentCpus, currentMems string ++ parentCpus, parentMems string ++ ) ++ ++ if currentCpus, currentMems, err = getCpusetSubsystemSettings(current); err != nil { + ret := fmt.Errorf("failed copy current cgroup setting, %v", err) + if _, err := os.Stat(current); err != nil { + ret = fmt.Errorf("%v, %v", ret, err) + } + return ret + } +- if parentCpus, parentMems, err := getCpusetSubsystemSettings(parent); err != nil { ++ if parentCpus, parentMems, err = getCpusetSubsystemSettings(parent); err != nil { + ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) + if _, err := os.Stat(parent); err != nil { + ret = fmt.Errorf("%v, %v", ret, err) +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/files.go b/runc-1.1.3/libcontainer/cgroups/fs/files.go +index 3315cda..b02743c 100644 +--- a/runc-1.1.3/libcontainer/cgroups/fs/files.go ++++ b/runc-1.1.3/libcontainer/cgroups/fs/files.go +@@ -18,27 +18,22 @@ import ( + "path/filepath" + ) + +-type FilesGroup struct { +-} ++type FilesGroup struct {} + + func (s *FilesGroup) Name() string { + return "files" + } + +-func (s *FilesGroup) Apply(d *cgroupData) error { +- _, err := d.join("files") +- if err != nil && !cgroups.IsNotFound(err) { +- return err +- } +- return nil ++func (s *FilesGroup) Apply(path string, _ *configs.Resources, pid int) error { ++ return apply(path, pid) + } + +-func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { +- if cgroup.Resources.FilesLimit != 0 { ++func (s *FilesGroup) Set(path string, r *configs.Resources) error { ++ if r.FilesLimit != 0 { + // "max" is the fallback value. + limit := "max" +- if cgroup.Resources.FilesLimit > 0 { +- limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) ++ if r.FilesLimit > 0 { ++ limit = strconv.FormatInt(r.FilesLimit, 10) + } + + if err := writeFile(path, "files.limit", limit); err != nil { +@@ -49,10 +44,6 @@ func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { + return nil + } + +-func (s *FilesGroup) Remove(d *cgroupData) error { +- return removePath(d.path("files")) +-} +- + func (s *FilesGroup) GetStats(path string, stats *cgroups.Stats) error { + usage, err := getCgroupParamUint(path, "files.usage") + if err != nil { +diff --git a/runc-1.1.3/libcontainer/cgroups/fs/utils.go b/runc-1.1.3/libcontainer/cgroups/fs/utils.go +new file mode 100644 +index 0000000..38820a8 +--- /dev/null ++++ b/runc-1.1.3/libcontainer/cgroups/fs/utils.go +@@ -0,0 +1,97 @@ ++// +build linux ++ ++package fs ++ ++import ( ++ "errors" ++ "os" ++ "fmt" ++ "io/ioutil" ++ "path/filepath" ++ "strconv" ++ "strings" ++) ++ ++var ( ++ ErrNotValidFormat = errors.New("line is not a valid key value format") ++) ++ ++// Saturates negative values at zero and returns a uint64. ++// Due to kernel bugs, some of the memory cgroup stats can be negative. ++func parseUint(s string, base, bitSize int) (uint64, error) { ++ value, err := strconv.ParseUint(s, base, bitSize) ++ if err != nil { ++ intValue, intErr := strconv.ParseInt(s, base, bitSize) ++ // 1. Handle negative values greater than MinInt64 (and) ++ // 2. Handle negative values lesser than MinInt64 ++ if intErr == nil && intValue < 0 { ++ return 0, nil ++ } else if intErr != nil && intErr.(*strconv.NumError).Err == strconv.ErrRange && intValue < 0 { ++ return 0, nil ++ } ++ ++ return value, err ++ } ++ ++ return value, nil ++} ++ ++// Parses a cgroup param and returns as name, value ++// i.e. "io_service_bytes 1234" will return as io_service_bytes, 1234 ++func getCgroupParamKeyValue(t string) (string, uint64, error) { ++ parts := strings.Fields(t) ++ switch len(parts) { ++ case 2: ++ value, err := parseUint(parts[1], 10, 64) ++ if err != nil { ++ return "", 0, fmt.Errorf("unable to convert param value (%q) to uint64: %v", parts[1], err) ++ } ++ ++ return parts[0], value, nil ++ default: ++ return "", 0, ErrNotValidFormat ++ } ++} ++ ++// Gets a single uint64 value from the specified cgroup file. ++func getCgroupParamUint(cgroupPath, cgroupFile string) (uint64, error) { ++ fileName := filepath.Join(cgroupPath, cgroupFile) ++ contents, err := ioutil.ReadFile(fileName) ++ if err != nil { ++ return 0, err ++ } ++ ++ res, err := parseUint(strings.TrimSpace(string(contents)), 10, 64) ++ if err != nil { ++ return res, fmt.Errorf("unable to parse %q as a uint from Cgroup file %q", string(contents), fileName) ++ } ++ return res, nil ++} ++ ++// Gets a string value from the specified cgroup file ++func getCgroupParamString(cgroupPath, cgroupFile string) (string, error) { ++ contents, err := ioutil.ReadFile(filepath.Join(cgroupPath, cgroupFile)) ++ if err != nil { ++ return "", err ++ } ++ ++ return strings.TrimSpace(string(contents)), nil ++} ++ ++func writeFile(dir, file, data string) error { ++ // Normally dir should not be empty, one case is that cgroup subsystem ++ // is not mounted, we will get empty dir, and we want it fail here. ++ if dir == "" { ++ return fmt.Errorf("no such directory for %s", file) ++ } ++ if err := ioutil.WriteFile(filepath.Join(dir, file), []byte(data), 0700); err != nil { ++ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) ++ if _, err = os.Stat(dir); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) ++ } ++ ++ return ret ++ } ++ return nil ++} ++ +diff --git a/runc-1.1.3/libcontainer/rootfs_linux.go b/runc-1.1.3/libcontainer/rootfs_linux.go +index 4dbe9f4..0bf1729 100644 +--- a/runc-1.1.3/libcontainer/rootfs_linux.go ++++ b/runc-1.1.3/libcontainer/rootfs_linux.go +@@ -10,6 +10,7 @@ import ( + "path/filepath" + "strconv" + "strings" ++ "syscall" + "time" + + securejoin "github.com/cyphar/filepath-securejoin" +diff --git a/runc-1.1.3/libcontainer/standard_init_linux.go b/runc-1.1.3/libcontainer/standard_init_linux.go +index 99e7003..c288c88 100644 +--- a/runc-1.1.3/libcontainer/standard_init_linux.go ++++ b/runc-1.1.3/libcontainer/standard_init_linux.go +@@ -3,11 +3,11 @@ package libcontainer + import ( + "errors" + "fmt" +- "io/ioutil" + "os" + "os/exec" +- "path/filepath" + "strconv" ++ "strings" ++ "syscall" + "time" + + "github.com/opencontainers/runtime-spec/specs-go" +diff --git a/runc-1.1.3/main.go b/runc-1.1.3/main.go +index e624347..e52a2ea 100644 +--- a/runc-1.1.3/main.go ++++ b/runc-1.1.3/main.go +@@ -4,7 +4,6 @@ import ( + "errors" + "fmt" + "io" +- "log/syslog" + "os" + "path/filepath" + "runtime" +-- +2.30.0 + diff --git a/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch b/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch deleted file mode 100644 index d5a6ea37c784642a0a424c53986e7cbb4a52c7b9..0000000000000000000000000000000000000000 --- a/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch +++ /dev/null @@ -1,59 +0,0 @@ -From c9d66ffed85529579f4247581d0d387fc21d92fa Mon Sep 17 00:00:00 2001 -From: Tibor Vass -Date: Thu, 6 Jul 2017 10:28:14 -0700 -Subject: [PATCH 29/94] vendor runtime-spec fork - docker/runtime-spec@a45ba0989fc26c695fe166a49c45bb8b7618ab36 - -This vendoring brings in the change from uint64 to int64 in the Memory -structs. - -Change-Id: Ic928ff9cde8055a24ad039ccff64b8ceff917142 -Signed-off-by: Tibor Vass ---- - vendor.conf | 2 +- - .../opencontainers/runtime-spec/specs-go/config.go | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/vendor.conf b/vendor.conf -index 6ab9bf8..b961707 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -1,7 +1,7 @@ - # OCI runtime-spec. When updating this, make sure you use a version tag rather - # than a commit ID so it's much more obvious what version of the spec we are - # using. --github.com/opencontainers/runtime-spec v1.0.0-rc5 -+github.com/opencontainers/runtime-spec a45ba0989fc26c695fe166a49c45bb8b7618ab36 https://github.com/docker/runtime-spec - # Core libcontainer functionality. - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 - github.com/opencontainers/selinux v1.0.0-rc1 -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index bd8e96a..6d2a026 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -281,16 +281,16 @@ type LinuxBlockIO struct { - // LinuxMemory for Linux cgroup 'memory' resource management - type LinuxMemory struct { - // Memory limit (in bytes). -- Limit *uint64 `json:"limit,omitempty"` -+ Limit *int64 `json:"limit,omitempty"` - // Memory reservation or soft_limit (in bytes). -- Reservation *uint64 `json:"reservation,omitempty"` -+ Reservation *int64 `json:"reservation,omitempty"` - // Total memory limit (memory + swap). -- Swap *uint64 `json:"swap,omitempty"` -+ Swap *int64 `json:"swap,omitempty"` - // Kernel memory limit (in bytes). -- Kernel *uint64 `json:"kernel,omitempty"` -+ Kernel *int64 `json:"kernel,omitempty"` - // Kernel memory limit for tcp (in bytes) -- KernelTCP *uint64 `json:"kernelTCP,omitempty"` -- // How aggressive the kernel will swap memory pages. Range from 0 to 100. -+ KernelTCP *int64 `json:"kernelTCP,omitempty"` -+ // How aggressive the kernel will swap memory pages. - Swappiness *uint64 `json:"swappiness,omitempty"` - } - --- -2.7.4.3 - diff --git a/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch b/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch deleted file mode 100644 index 382ce823b33ada2ae4d654a51a65dc85752f4fa2..0000000000000000000000000000000000000000 --- a/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 8ffbf2a8b8ae7119ae31bb15a30cb41711b809e2 Mon Sep 17 00:00:00 2001 -From: Justin Cormack -Date: Fri, 23 Jun 2017 17:17:00 -0700 -Subject: [PATCH 30/94] Update memory specs to use int64 not uint64 - -replace #1492 #1494 -fix #1422 - -Since https://github.com/opencontainers/runtime-spec/pull/876 the memory -specifications are now `int64`, as that better matches the visible interface where -`-1` is a valid value. Otherwise finding the correct value was difficult as it -was kernel dependent. - -Signed-off-by: Justin Cormack -(cherry picked from commit 3d9074ead33a5c27dc20bb49457c69c6d2ae6b57) -Signed-off-by: Tibor Vass - -Change-Id: I07ec53368c5058076d3bd35e122f32259bf69854 ---- - libcontainer/cgroups/fs/memory.go | 36 +++++++++++++++++------------------- - libcontainer/configs/cgroup_unix.go | 10 +++++----- - update.go | 14 +++++++------- - 3 files changed, 29 insertions(+), 31 deletions(-) - -diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go -index 0981cfb..c993839 100644 ---- a/libcontainer/cgroups/fs/memory.go -+++ b/libcontainer/cgroups/fs/memory.go -@@ -71,14 +71,14 @@ func EnableKernelMemoryAccounting(path string) error { - // until a limit is set on the cgroup and limit cannot be set once the - // cgroup has children, or if there are already tasks in the cgroup. - for _, i := range []int64{1, -1} { -- if err := setKernelMemory(path, uint64(i)); err != nil { -+ if err := setKernelMemory(path, i); err != nil { - return err - } - } - return nil - } - --func setKernelMemory(path string, kernelMemoryLimit uint64) error { -+func setKernelMemory(path string, kernelMemoryLimit int64) error { - if path == "" { - return fmt.Errorf("no such directory for %s", cgroupKernelMemoryLimit) - } -@@ -86,7 +86,7 @@ func setKernelMemory(path string, kernelMemoryLimit uint64) error { - // kernel memory is not enabled on the system so we should do nothing - return nil - } -- if err := ioutil.WriteFile(filepath.Join(path, cgroupKernelMemoryLimit), []byte(strconv.FormatUint(kernelMemoryLimit, 10)), 0700); err != nil { -+ if err := ioutil.WriteFile(filepath.Join(path, cgroupKernelMemoryLimit), []byte(strconv.FormatInt(kernelMemoryLimit, 10)), 0700); err != nil { - // Check if the error number returned by the syscall is "EBUSY" - // The EBUSY signal is returned on attempts to write to the - // memory.kmem.limit_in_bytes file if the cgroup has children or -@@ -104,14 +104,12 @@ func setKernelMemory(path string, kernelMemoryLimit uint64) error { - } - - func setMemoryAndSwap(path string, cgroup *configs.Cgroup) error { -- ulimited := -1 -- -- // If the memory update is set to uint64(-1) we should also -- // set swap to uint64(-1), it means unlimited memory. -- if cgroup.Resources.Memory == uint64(ulimited) { -- // Only set swap if it's enbled in kernel -+ // If the memory update is set to -1 we should also -+ // set swap to -1, it means unlimited memory. -+ if cgroup.Resources.Memory == -1 { -+ // Only set swap if it's enabled in kernel - if cgroups.PathExists(filepath.Join(path, cgroupMemorySwapLimit)) { -- cgroup.Resources.MemorySwap = uint64(ulimited) -+ cgroup.Resources.MemorySwap = -1 - } - } - -@@ -126,29 +124,29 @@ func setMemoryAndSwap(path string, cgroup *configs.Cgroup) error { - // When update memory limit, we should adapt the write sequence - // for memory and swap memory, so it won't fail because the new - // value and the old value don't fit kernel's validation. -- if cgroup.Resources.MemorySwap == uint64(ulimited) || memoryUsage.Limit < cgroup.Resources.MemorySwap { -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if cgroup.Resources.MemorySwap == -1 || memoryUsage.Limit < uint64(cgroup.Resources.MemorySwap) { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } - } else { -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } - } - } else { - if cgroup.Resources.Memory != 0 { -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } - } - if cgroup.Resources.MemorySwap != 0 { -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } - } -@@ -169,13 +167,13 @@ func (s *MemoryGroup) Set(path string, cgroup *configs.Cgroup) error { - } - - if cgroup.Resources.MemoryReservation != 0 { -- if err := writeFile(path, "memory.soft_limit_in_bytes", strconv.FormatUint(cgroup.Resources.MemoryReservation, 10)); err != nil { -+ if err := writeFile(path, "memory.soft_limit_in_bytes", strconv.FormatInt(cgroup.Resources.MemoryReservation, 10)); err != nil { - return err - } - } - - if cgroup.Resources.KernelMemoryTCP != 0 { -- if err := writeFile(path, "memory.kmem.tcp.limit_in_bytes", strconv.FormatUint(cgroup.Resources.KernelMemoryTCP, 10)); err != nil { -+ if err := writeFile(path, "memory.kmem.tcp.limit_in_bytes", strconv.FormatInt(cgroup.Resources.KernelMemoryTCP, 10)); err != nil { - return err - } - } -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index 7572289..e654960 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -45,19 +45,19 @@ type Resources struct { - Devices []*Device `json:"devices"` - - // Memory limit (in bytes) -- Memory uint64 `json:"memory"` -+ Memory int64 `json:"memory"` - - // Memory reservation or soft_limit (in bytes) -- MemoryReservation uint64 `json:"memory_reservation"` -+ MemoryReservation int64 `json:"memory_reservation"` - - // Total memory usage (memory + swap); set `-1` to enable unlimited swap -- MemorySwap uint64 `json:"memory_swap"` -+ MemorySwap int64 `json:"memory_swap"` - - // Kernel memory limit (in bytes) -- KernelMemory uint64 `json:"kernel_memory"` -+ KernelMemory int64 `json:"kernel_memory"` - - // Kernel memory limit for TCP use (in bytes) -- KernelMemoryTCP uint64 `json:"kernel_memory_tcp"` -+ KernelMemoryTCP int64 `json:"kernel_memory_tcp"` - - // CPU shares (relative weight vs. other containers) - CpuShares uint64 `json:"cpu_shares"` -diff --git a/update.go b/update.go -index 5520681..226a18a 100644 ---- a/update.go -+++ b/update.go -@@ -124,11 +124,11 @@ other options are ignored. - - r := specs.LinuxResources{ - Memory: &specs.LinuxMemory{ -- Limit: u64Ptr(0), -- Reservation: u64Ptr(0), -- Swap: u64Ptr(0), -- Kernel: u64Ptr(0), -- KernelTCP: u64Ptr(0), -+ Limit: i64Ptr(0), -+ Reservation: i64Ptr(0), -+ Swap: i64Ptr(0), -+ Kernel: i64Ptr(0), -+ KernelTCP: i64Ptr(0), - }, - CPU: &specs.LinuxCPU{ - Shares: u64Ptr(0), -@@ -213,7 +213,7 @@ other options are ignored. - } - for _, pair := range []struct { - opt string -- dest *uint64 -+ dest *int64 - }{ - {"memory", r.Memory.Limit}, - {"memory-swap", r.Memory.Swap}, -@@ -232,7 +232,7 @@ other options are ignored. - } else { - v = -1 - } -- *pair.dest = uint64(v) -+ *pair.dest = v - } - } - r.Pids.Limit = int64(context.Int("pids-limit")) --- -2.7.4.3 - diff --git a/patch/0032-runc-17-Always-save-own-namespace-paths.patch b/patch/0032-runc-17-Always-save-own-namespace-paths.patch deleted file mode 100644 index 886e2cb5f9ff6011abbac80868ba7368c8493907..0000000000000000000000000000000000000000 --- a/patch/0032-runc-17-Always-save-own-namespace-paths.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 59a5c027ef71cbad624c7547f3031dc87fc6220d Mon Sep 17 00:00:00 2001 -From: Yuanhong Peng -Date: Thu, 13 Jul 2017 16:57:00 +0800 -Subject: [PATCH 32/94] runc-17: Always save own namespace paths - -[Changelog]: Always save own namespace paths - -fix https://github.com/opencontainers/runc/issues/1476 - -If containerA shares namespace, say ipc namespace, with containerB, then -its ipc namespace path would be the same as containerB and be stored in -`state.json`. Exec into containerA will just read the namespace paths -stored in this file and join these namespaces. So, if containerB has -already been stopped, `docker exec containerA` will fail. - -To address this issue, we should always save own namespace paths no -matter if we share namespaces with other containers. - -**before:** -``` - # docker run -tid --name 111 ubuntu - b123d1a43786523996a52f88c0484b77f778ff59435e257b901926366ba9e046 - # docker run -tid --name 222 --net container:111 ubuntu - 4685ca6a5e9fd03c634a88f6a07009738729f6210b13d32ea8fc46a058b1f004 - # docker restart 111 - 111 - # docker exec -ti 222 bash - rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:240: - creating new parent process caused "container_linux.go:1266: running lstat on namespace - path \"/proc/14575/ns/net\" caused \"lstat /proc/14575/ns/net: no such file or directory\"" -``` - -**after:** -``` - # docker run -tid --name 111 ubuntu - e00dbfe3bf56272d7bdec232135f707b4a715cb0d39cdc4d3e90b05075497175 - # docker run -tid --name 222 --net container:111 ubuntu - 0806efe28080392f5a3ef416c363be0d82c3bc64d069f227d57ab34170b6fb16 - # docker restart 111 - 111 - # docker exec -ti 222 bash - root@e00dbfe3bf56:/# -``` - -related upstream PR: https://github.com/opencontainers/runc/pull/1477 - -Change-Id: I4278f64704c4b0ab0c2e5b44ec9ecdd34735144d -Signed-off-by: Yuanhong Peng -Signed-off-by: yangshukui ---- - libcontainer/configs/namespaces_unix.go | 3 --- - libcontainer/container_linux_test.go | 2 +- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/libcontainer/configs/namespaces_unix.go b/libcontainer/configs/namespaces_unix.go -index 1f0b3ee..12470a0 100644 ---- a/libcontainer/configs/namespaces_unix.go -+++ b/libcontainer/configs/namespaces_unix.go -@@ -81,9 +81,6 @@ type Namespace struct { - } - - func (n *Namespace) GetPath(pid int) string { -- if n.Path != "" { -- return n.Path -- } - return fmt.Sprintf("/proc/%d/ns/%s", pid, NsName(n.Type)) - } - -diff --git a/libcontainer/container_linux_test.go b/libcontainer/container_linux_test.go -index b7ce552..b69e344 100644 ---- a/libcontainer/container_linux_test.go -+++ b/libcontainer/container_linux_test.go -@@ -134,7 +134,7 @@ func TestGetContainerState(t *testing.T) { - var ( - pid = os.Getpid() - expectedMemoryPath = "/sys/fs/cgroup/memory/myid" -- expectedNetworkPath = "/networks/fd" -+ expectedNetworkPath = fmt.Sprintf("/proc/%d/ns/net", pid) - ) - container := &linuxContainer{ - id: "myid", --- -2.7.4.3 - diff --git a/patch/0033-runc-change-runc-default-umask-to-027.patch b/patch/0033-runc-change-runc-default-umask-to-027.patch deleted file mode 100644 index bee6ab3d536b0ad1790b4d82bf291a7b858fad14..0000000000000000000000000000000000000000 --- a/patch/0033-runc-change-runc-default-umask-to-027.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 49ff7be84939cf93b8bf4861ddc783704fb3f50b Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Mon, 8 Jan 2018 10:35:34 +0800 -Subject: [PATCH 33/94] runc: change runc default umask to 027 - -[Changelog]:change runc default umask to 027 -change exec process default umask to 0027 - -Change-Id: Ia7ff0216adc17d61586954de83031be21ab88338 -Signed-off-by: dengguangxing ---- - libcontainer/rootfs_linux.go | 2 +- - libcontainer/setns_init_linux.go | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index d507373..1c93903 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -136,7 +136,7 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- syscall.Umask(0022) -+ syscall.Umask(0027) - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index 48cc0ae..e8e969a 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -5,6 +5,7 @@ package libcontainer - import ( - "fmt" - "os" -+ "syscall" - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/keys" -@@ -40,6 +41,8 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -+ // set exec process umask to 0027 according to secure policy -+ syscall.Umask(0027) - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch b/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch deleted file mode 100644 index b6e8352696111f40fdb1c249f69ec6cdc28835fc..0000000000000000000000000000000000000000 --- a/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 661a5bf6a414ded19e8722e81ea20f6218d9b7de Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 20 Apr 2018 22:38:32 +0800 -Subject: [PATCH 34/94] runc-17: Add some compatibility code to surport - docker's liverestore from docker-1.11.2 to docker-17.06 - -[Changelog]: Add some compatibility code to surport docker's liverestore from docker-1.11.2 to docker-17.06 - -[Author]:Shukui Yang - -Change-Id: I376cc81f781727ea8d0bc61bc0c6e72ca485d880 -Signed-off-by: yangshukui ---- - libcontainer/factory_linux.go | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 6a0f855..8bf448a 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -10,6 +10,7 @@ import ( - "regexp" - "runtime/debug" - "strconv" -+ "strings" - "syscall" - - "github.com/docker/docker/pkg/mount" -@@ -321,7 +322,17 @@ func (l *LinuxFactory) loadState(root, id string) (*State, error) { - defer f.Close() - var state *State - if err := json.NewDecoder(f).Decode(&state); err != nil { -- return nil, newGenericError(err, SystemError) -+ if !strings.Contains(err.Error(), "memory_swappiness") { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ if state.BaseState.Config.Cgroups != nil && -+ state.BaseState.Config.Cgroups.Resources != nil && -+ state.BaseState.Config.Cgroups.Resources.MemorySwappiness != nil { -+ memorySwappiness := int64(-1) -+ *state.BaseState.Config.Cgroups.Resources.MemorySwappiness = uint64(memorySwappiness) -+ } -+ - } - return state, nil - } --- -2.7.4.3 - diff --git a/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch b/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch deleted file mode 100644 index 95d2ccfe70da5051dcba858305fdec9bc846ca72..0000000000000000000000000000000000000000 --- a/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 35c1ee336b5714b077c0007ed6c37149bd965260 Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 27 Apr 2018 20:24:42 +0800 -Subject: [PATCH 35/94] runc-17: Add root to HookState for - compatibility. - -[Changelog]:refactor HookState for backward compatibility. -[Author]:Shukui Yang - -Change-Id: I471a748005fe5a7be69d5a857944bf8599408c3b -Signed-off-by: yangshukui ---- - libcontainer/configs/config.go | 8 +++++++- - libcontainer/container_linux.go | 22 ++++++++++++++-------- - libcontainer/process_linux.go | 22 ++++++++++++++-------- - libcontainer/state_linux.go | 9 ++++++--- - 4 files changed, 41 insertions(+), 20 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 98f4b85..af25972 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -259,8 +259,14 @@ func (hooks Hooks) MarshalJSON() ([]byte, error) { - }) - } - -+// Alias of specs.State -+type SpecState specs.State -+ - // HookState is the payload provided to a hook on execution. --type HookState specs.State -+type HookState struct { -+ SpecState -+ Root string `json:"root"` -+} - - type Hook interface { - // Run executes the hook with the provided state. -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 173a3f0..ea6ef4c 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -275,10 +275,13 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Pid: parent.pid(), -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Pid: parent.pid(), -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { - if err := hook.Run(s); err != nil { -@@ -1243,10 +1246,13 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - case notify.GetScript() == "setup-namespaces": - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Pid: int(notify.GetPid()), -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Pid: int(notify.GetPid()), -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index bfe9955..c9fb202 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -292,10 +292,13 @@ func (p *initProcess) start() error { - if !p.config.Config.Namespaces.Contains(configs.NEWNS) { - if p.config.Config.Hooks != nil { - s := configs.HookState{ -- Version: p.container.config.Version, -- ID: p.container.id, -- Pid: p.pid(), -- Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: p.container.config.Version, -+ ID: p.container.id, -+ Pid: p.pid(), -+ Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ }, -+ Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -@@ -312,10 +315,13 @@ func (p *initProcess) start() error { - case procHooks: - if p.config.Config.Hooks != nil { - s := configs.HookState{ -- Version: p.container.config.Version, -- ID: p.container.id, -- Pid: p.pid(), -- Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: p.container.config.Version, -+ ID: p.container.id, -+ Pid: p.pid(), -+ Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ }, -+ Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 62878ac..9f8def2 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -58,9 +58,12 @@ func destroy(c *linuxContainer) error { - func runPoststopHooks(c *linuxContainer) error { - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for _, hook := range c.config.Hooks.Poststop { - if err := hook.Run(s); err != nil { --- -2.7.4.3 - diff --git a/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch b/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch deleted file mode 100644 index 06cf771bd4ebf7d992812159e131a2b59c81e040..0000000000000000000000000000000000000000 --- a/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 988554ab5c12971383bc717cda615ca672953cd5 Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 18 May 2018 11:03:48 +0800 -Subject: [PATCH 36/94] runc-17: add compatibility for docker-1.11.2 - -[Changelog]: add compatibility for docker-1.11.2 -[Author]: Shukui Yang - -Change-Id: I188db47db8f4bcd744ac8218bfe966de48e97c22 -Signed-off-by: yangshukui ---- - libcontainer/configs/cgroup_unix.go | 6 +++ - libcontainer/configs/config.go | 11 ++++ - libcontainer/container_linux.go | 6 +++ - libcontainer/factory_linux.go | 102 +++++++++++++++++++++++++++++++----- - 4 files changed, 113 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index e654960..75a3db0 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -33,6 +33,12 @@ type Cgroup struct { - *Resources - } - -+// CompatCgroup -+type CompatCgroup struct { -+ Cgroup -+ MemorySwappiness interface{} `json:"memory_swappiness"` -+} -+ - type Resources struct { - // If this is true allow access to any kind of device within the container. If false, allow access only to devices explicitly listed in the allowed_devices list. - // Deprecated -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index af25972..3a2e824 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -188,6 +188,17 @@ type Config struct { - Rootless bool `json:"rootless"` - } - -+// CompatConfig is a structure inheriting from spec.Process defined -+// in runtime-spec/specs-go package. The goal is to be compatible with -+// both v1.0.0-rc4 and v1.0.0-rc5 since the latter introduced a change -+// about the type of the Capabilities field. -+// Refer to: https://github.com/opencontainers/runtime-spec/commit/37391fb -+type CompatConfig struct { -+ Config -+ Cgroups *CompatCgroup `json:"cgroups"` -+ Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` -+} -+ - type Hooks struct { - // Prestart commands are executed after the container namespaces are created, - // but before the user supplied command is executed from init. -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index ea6ef4c..f4eec7e 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -66,6 +66,12 @@ type State struct { - ExternalDescriptors []string `json:"external_descriptors,omitempty"` - } - -+// CompatState -+type CompatState struct{ -+ State -+ Config configs.CompatConfig `json:"config"` -+} -+ - // Container is a libcontainer container object. - // - // Each container is thread-safe within the same process. Since a container can -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 8bf448a..b533346 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -10,8 +10,9 @@ import ( - "regexp" - "runtime/debug" - "strconv" -- "strings" - "syscall" -+ "io/ioutil" -+ "errors" - - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" -@@ -311,28 +312,105 @@ func (l *LinuxFactory) StartInitialization() (err error) { - return i.Init() - } - --func (l *LinuxFactory) loadState(root, id string) (*State, error) { -- f, err := os.Open(filepath.Join(root, stateFilename)) -+func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPath string) error { -+ needUpdate := false -+ -+ // In spec v1.0.0-rc4, capabilities was a list of strings. This was changed -+ // to an object with v1.0.0-rc5. -+ // Check for the interface type to support both the versions. -+ capabilities := compatState.Config.Capabilities -+ switch caps := capabilities.(type) { -+ case []interface{}: -+ var list []string -+ for _, str := range caps { -+ list = append(list, str.(string)) -+ } -+ -+ c := configs.Capabilities{ -+ Bounding: list, -+ Effective: list, -+ Inheritable: list, -+ Ambient: list, -+ Permitted: list, -+ } -+ compatState.Config.Capabilities = c -+ needUpdate = true -+ } -+ -+ //In spec v1.0.0-rc4, MemorySwappiness was a *int64. This was changed -+ // to an *uint64 with v1.0.0-rc5. -+ if compatState.Config.Cgroups != nil && -+ compatState.Config.Cgroups.MemorySwappiness != nil { -+ memorySwappiness, ok := compatState.Config.Cgroups.MemorySwappiness.(float64) -+ if ok { -+ var memSize int64 = int64(memorySwappiness) -+ if memSize < 0 { -+ memSize = 0 -+ var memUSize uint64 = uint64(memSize-1) -+ compatState.Config.Cgroups.MemorySwappiness = &memUSize -+ needUpdate = true -+ } -+ } -+ } -+ -+ if needUpdate { -+ f, err := os.Create(configPath) -+ if err != nil { -+ return err -+ } -+ defer f.Close() -+ if err := json.NewEncoder(f).Encode(&compatState); err != nil { -+ return err -+ } -+ return nil -+ } -+ -+ return errors.New("updateStateCapabilites unexpected format for capabilities") -+} -+ -+func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { -+ f, err := os.Open(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) -+ return nil, newGenericError(err, ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } - defer f.Close() - var state *State - if err := json.NewDecoder(f).Decode(&state); err != nil { -- if !strings.Contains(err.Error(), "memory_swappiness") { -- return nil, newGenericError(err, SystemError) -- } -+ return nil, newGenericError(err, SystemError) -+ } -+ return state, nil -+} - -- if state.BaseState.Config.Cgroups != nil && -- state.BaseState.Config.Cgroups.Resources != nil && -- state.BaseState.Config.Cgroups.Resources.MemorySwappiness != nil { -- memorySwappiness := int64(-1) -- *state.BaseState.Config.Cgroups.Resources.MemorySwappiness = uint64(memorySwappiness) -+func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { -+ dt, err := ioutil.ReadFile(configPath) -+ if err != nil { -+ if os.IsNotExist(err) { -+ return nil, newGenericError(err, ContainerNotExists) - } -+ return nil, newGenericError(err, SystemError) -+ } - -+ var state *CompatState -+ if err := json.Unmarshal(dt, &state); err != nil { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ err = l.updateStateCapabilites(state, configPath) -+ if err != nil { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ return l.loadOriginState(configPath) -+} -+ -+func (l *LinuxFactory) loadState(root, id string) (*State, error) { -+ configPath := filepath.Join(root, stateFilename) -+ state, err := l.loadOriginState(configPath) -+ if err != nil { -+ return l.loadCompatState(configPath) - } - return state, nil - } --- -2.7.4.3 - diff --git a/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch b/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch deleted file mode 100644 index 33826dd92723c980c03255f51e50d8ddd48ad643..0000000000000000000000000000000000000000 --- a/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 093594c58411b6a25844650b40463449e1af11ce Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Thu, 23 Aug 2018 15:03:50 +0800 -Subject: [PATCH 37/94] docker: Don't enalbe kmem accounting by - default - -reason:In kernel 3.10, kmem cgroup is unstable, -we should not enable kmem accounting by default. -Revert part of -https://github.com/hqhq/runc/commit/fe898e7862f945fa3632580139602c627dcb9be0 - -Change-Id: I546d1da875b1df7d525fd5c96a89c439ed6642f2 -Signed-off-by: lujingxiao ---- - libcontainer/cgroups/fs/memory.go | 6 ++---- - script/runc-euleros.spec | 8 ++++++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go -index c993839..118cce8 100644 ---- a/libcontainer/cgroups/fs/memory.go -+++ b/libcontainer/cgroups/fs/memory.go -@@ -41,10 +41,8 @@ func (s *MemoryGroup) Apply(d *cgroupData) (err error) { - if err := os.MkdirAll(path, 0755); err != nil { - return err - } -- // Only enable kernel memory accouting when this cgroup -- // is created by libcontainer, otherwise we might get -- // error when people use `cgroupsPath` to join an existed -- // cgroup whose kernel memory is not initialized. -+ } -+ if d.config.KernelMemory != 0 { - if err := EnableKernelMemoryAccounting(path); err != nil { - return err - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index a925e02..c3db7c9 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 1%{?dist} -+Release: 2%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -46,4 +46,8 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc - %{_bindir}/runc - - %changelog -- -+* Thu Aug 23 2018 lujingxiao - 1.0.0.rc3-2 -+- Type:bugfix -+- ID:NA -+- SUG:NA -+- DESC:Don't enalbe kmem accounting by default --- -2.7.4.3 - diff --git a/patch/0039-Fix-unittest-and-integration-test-error-cause.patch b/patch/0039-Fix-unittest-and-integration-test-error-cause.patch deleted file mode 100644 index 8333411adb28060caf80f044bffbb9f400692dad..0000000000000000000000000000000000000000 --- a/patch/0039-Fix-unittest-and-integration-test-error-cause.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 423ffe00c5c0cdb999bf9a193ad43ed5b6473a2d Mon Sep 17 00:00:00 2001 -From: Wang Long -Date: Tue, 24 Jan 2017 18:51:22 +0800 -Subject: [PATCH 39/94] Fix unittest and integration test error caused - by tty - -Change-Id: Iae44f5a598e60b9e026ced99ca9e92aa90771fcc -Signed-off-by: Wang Long ---- - libcontainer/integration/execin_test.go | 8 +------- - tests/integration/exec.bats | 4 ++-- - 2 files changed, 3 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/integration/execin_test.go b/libcontainer/integration/execin_test.go -index 019757f..f06075e 100644 ---- a/libcontainer/integration/execin_test.go -+++ b/libcontainer/integration/execin_test.go -@@ -62,9 +62,6 @@ func TestExecIn(t *testing.T) { - if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { - t.Fatalf("unexpected running process, output %q", out) - } -- if strings.Contains(out, "\r") { -- t.Fatalf("unexpected carriage-return in output") -- } - } - - func TestExecInUsernsRlimit(t *testing.T) { -@@ -327,12 +324,9 @@ func TestExecInTTY(t *testing.T) { - waitProcess(process, t) - - out := stdout.String() -- if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { -+ if !strings.Contains(out, "cat") || !strings.Contains(string(out), "ps") { - t.Fatalf("unexpected running process, output %q", out) - } -- if strings.Contains(out, "\r") { -- t.Fatalf("unexpected carriage-return in output") -- } - } - - func TestExecInEnvironment(t *testing.T) { -diff --git a/tests/integration/exec.bats b/tests/integration/exec.bats -index f172f9b..268a7e1 100644 ---- a/tests/integration/exec.bats -+++ b/tests/integration/exec.bats -@@ -95,7 +95,7 @@ function teardown() { - - runc exec --cwd /bin test_busybox pwd - [ "$status" -eq 0 ] -- [[ ${output} == "/bin" ]] -+ [[ $(echo "${output}" | tr -d '\r') == "/bin" ]] - } - - @test "runc exec --env" { -@@ -124,5 +124,5 @@ function teardown() { - runc exec --user 1000:1000 test_busybox id - [ "$status" -eq 0 ] - -- [[ ${output} == "uid=1000 gid=1000" ]] -+ [[ $(echo "${output}" | tr -d '\r') == "uid=1000 gid=1000" ]] - } --- -2.7.4.3 - diff --git a/patch/0041-Add-timeout-for-syscall.Openat.patch b/patch/0041-Add-timeout-for-syscall.Openat.patch deleted file mode 100644 index 1381c8e4c3de732f4cbc2c232947def65c9c018b..0000000000000000000000000000000000000000 --- a/patch/0041-Add-timeout-for-syscall.Openat.patch +++ /dev/null @@ -1,68 +0,0 @@ -From a2f81f8b740b371e710b63b8c81c704842140ace Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Tue, 18 Apr 2017 19:35:30 +0800 -Subject: [PATCH 41/94] Add timeout for syscall.Openat - -Openat will be blocked until the fifo on the other side is opened, but in some -abnomal scenario(e.g. containerd is killed), Openat maybe be blocked all the time. - -Change-Id: If1d514408b522c8bdf5f1c1cb0d3c625f0ef4a6d -Signed-off-by: yangshukui ---- - libcontainer/standard_init_linux.go | 30 ++++++++++++++++++++++++------ - 1 file changed, 24 insertions(+), 6 deletions(-) - -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index ee6f19a..484ba42 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -7,6 +7,7 @@ import ( - "os" - "os/exec" - "syscall" -+ "time" - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" -@@ -166,15 +167,32 @@ func (l *linuxStandardInit) Init() error { - } - // close the pipe to signal that we have completed our init. - l.pipe.Close() -+ - // wait for the fifo to be opened on the other side before - // exec'ing the users process. -- fd, err := syscall.Openat(l.stateDirFD, execFifoFilename, os.O_WRONLY|syscall.O_CLOEXEC, 0) -- if err != nil { -- return newSystemErrorWithCause(err, "openat exec fifo") -- } -- if _, err := syscall.Write(fd, []byte("0")); err != nil { -- return newSystemErrorWithCause(err, "write 0 exec fifo") -+ ch := make(chan Error, 1) -+ go func() { -+ fd, err := syscall.Openat(l.stateDirFD, execFifoFilename, os.O_WRONLY|syscall.O_CLOEXEC, 0) -+ if err != nil { -+ ch <- newSystemErrorWithCause(err, "openat exec fifo") -+ return -+ } -+ if _, err := syscall.Write(fd, []byte("0")); err != nil { -+ ch <- newSystemErrorWithCause(err, "write 0 exec fifo") -+ return -+ } -+ ch <- nil -+ }() -+ -+ select { -+ case chErr := <-ch: -+ if chErr != nil { -+ return chErr -+ } -+ case <-time.After(120 * time.Second): -+ return newSystemErrorWithCause(fmt.Errorf("timeout"), "wait for the fifo to be opened on the other side ") - } -+ - if l.config.Config.Seccomp != nil && l.config.NoNewPrivileges { - if err := seccomp.InitSeccomp(l.config.Config.Seccomp); err != nil { - return newSystemErrorWithCause(err, "init seccomp") --- -2.7.4.3 - diff --git a/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch b/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch deleted file mode 100644 index be2f6bda20adaac7c3e9530cfe5ee9d1c64e6ec6..0000000000000000000000000000000000000000 --- a/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 321679149dad13cdfd40831cc288495d4a5caf75 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Fri, 15 Dec 2017 17:37:41 +0800 -Subject: [PATCH 43/94] runc: Use rslave instead of rprivate in - chrootarchive - -[Changelog]:With rprivate there exists a race where a reference to a mount has -propagated to the new namespace, when rprivate is set the parent -namespace is not able to remove the mount due to that reference. -With rslave unmounts will propagate correctly into the namespace and -prevent the sort of transient errors that are possible with rprivate. -https://github.com/moby/moby/pull/35217 -[Author]git - -Change-Id: I7a69a5b0c03e896b9cb1722eb676b7b84ea7dd77 -Signed-off-by: caihaomin ---- - libcontainer/rootfs_linux.go | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 1c93903..7cf5edd 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -668,9 +668,12 @@ func pivotRoot(rootfs string) error { - return err - } - -- // Make oldroot rprivate to make sure our unmounts don't propagate to the -- // host (and thus bork the machine). -- if err := syscall.Mount("", ".", "", syscall.MS_PRIVATE|syscall.MS_REC, ""); err != nil { -+ // Make oldroot rslave to make sure our unmounts don't propagate to the -+ // host (and thus bork the machine). We don't use rprivate because this is -+ // known to cause issues due to races where we still have a reference to a -+ // mount while a process in the host namespace are trying to operate on -+ // something they think has no mounts (devicemapper in particular). -+ if err := syscall.Mount("", ".", "", syscall.MS_SLAVE|syscall.MS_REC, ""); err != nil { - return err - } - // Preform the unmount. MNT_DETACH allows us to unmount /proc/self/cwd. --- -2.7.4.3 - diff --git a/patch/0044-runc-default-mount-propagation-correctly.patch b/patch/0044-runc-default-mount-propagation-correctly.patch deleted file mode 100644 index c22b3a576a076c41e9dad0e7b6be63ef60fd896d..0000000000000000000000000000000000000000 --- a/patch/0044-runc-default-mount-propagation-correctly.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 06109d15b267af73d523817e6dcf501fa071a815 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Fri, 15 Dec 2017 17:42:03 +0800 -Subject: [PATCH 44/94] runc: default mount propagation correctly - -[Changelog]:The code in prepareRoot -attempts to default the rootfs mount to `rslave`. However, since the spec -conversion has already defaulted it to `rprivate`, that code doesn't -actually ever do anything. - -This changes the spec conversion code to accept "" and treat it as 0. - -Implicitly, this makes rootfs propagation default to `rslave`, which is -a part of fixing the moby bug moby/moby#34672 - -Alternate implementatoins include changing this defaulting to be -`rslave` and removing the defaulting code in prepareRoot, or skipping -the mapping entirely for "", but I think this change is the cleanest of -those options. -[Author]git - -Change-Id: I35954e2c8a71c1d3713753669044b5bf9d6c57fa -Signed-off-by: caihaomin ---- - libcontainer/specconv/spec_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 1575ae0..8a2947f 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -36,7 +36,7 @@ var mountPropagationMapping = map[string]int{ - "slave": syscall.MS_SLAVE, - "rshared": syscall.MS_SHARED | syscall.MS_REC, - "shared": syscall.MS_SHARED, -- "": syscall.MS_PRIVATE | syscall.MS_REC, -+ "": 0, - } - - var allowedDevices = []*configs.Device{ --- -2.7.4.3 - diff --git a/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch b/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch deleted file mode 100644 index 584eb64b1a9451c7f719caf375000a37e1639ce0..0000000000000000000000000000000000000000 --- a/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch +++ /dev/null @@ -1,128 +0,0 @@ -From eed1c5ec5166a151da33b7b9cfd6535f4556c015 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Tue, 16 Jan 2018 18:00:56 +0800 -Subject: [PATCH 45/94] runc: add hook specific info when error - occurred - -[Changelog]: print hook path and args when hook failed to make debug -easier -[Author]:Shukui Yang - -Change-Id: Idf704706b73f1cfa5f7f02b01b2ec58caadca79d -Signed-off-by: dengguangxing ---- - libcontainer/configs/config.go | 10 ++++++++++ - libcontainer/container_linux.go | 2 +- - libcontainer/factory_linux_test.go | 4 ++++ - libcontainer/process_linux.go | 4 ++-- - libcontainer/state_linux.go | 4 ++-- - 5 files changed, 19 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 3a2e824..49bc7a3 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -5,6 +5,7 @@ import ( - "encoding/json" - "fmt" - "os/exec" -+ "strings" - "time" - - "github.com/Sirupsen/logrus" -@@ -282,6 +283,7 @@ type HookState struct { - type Hook interface { - // Run executes the hook with the provided state. - Run(HookState) error -+ Info() string - } - - // NewFunctionHook will call the provided function when the hook is run. -@@ -299,6 +301,10 @@ func (f FuncHook) Run(s HookState) error { - return f.run(s) - } - -+func (f FuncHook) Info() string { -+ return "hook function" -+} -+ - type Command struct { - Path string `json:"path"` - Args []string `json:"args"` -@@ -318,6 +324,10 @@ type CommandHook struct { - Command - } - -+func (c Command) Info() string { -+ return c.Path + "," + strings.Join(c.Args, ",") -+} -+ - func (c Command) Run(s HookState) error { - b, err := json.Marshal(s) - if err != nil { -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index f4eec7e..9fabadc 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -294,7 +294,7 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - if err := parent.terminate(); err != nil { - logrus.Warn(err) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d", i) -+ return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) - } - } - } -diff --git a/libcontainer/factory_linux_test.go b/libcontainer/factory_linux_test.go -index ea3b513..0a84a7d 100644 ---- a/libcontainer/factory_linux_test.go -+++ b/libcontainer/factory_linux_test.go -@@ -205,3 +205,7 @@ type unserializableHook struct{} - func (unserializableHook) Run(configs.HookState) error { - return nil - } -+ -+func (unserializableHook) Info() string { -+ return "" -+} -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 9373595..1b478d7 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -307,7 +307,7 @@ func (p *initProcess) start() error { - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } - } - } -@@ -330,7 +330,7 @@ func (p *initProcess) start() error { - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } - } - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 9f8def2..c4f0dfc 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -65,9 +65,9 @@ func runPoststopHooks(c *linuxContainer) error { - }, - Root: c.config.Rootfs, - } -- for _, hook := range c.config.Hooks.Poststop { -+ for i, hook := range c.config.Hooks.Poststop { - if err := hook.Run(s); err != nil { -- return err -+ return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) - } - } - } --- -2.7.4.3 - diff --git a/patch/0047-runc-add-more-specific-log-for-hooks.patch b/patch/0047-runc-add-more-specific-log-for-hooks.patch deleted file mode 100644 index 2388a8fd789d8eeee583dfd1d4df07bbf5327ca4..0000000000000000000000000000000000000000 --- a/patch/0047-runc-add-more-specific-log-for-hooks.patch +++ /dev/null @@ -1,104 +0,0 @@ -From f5399113b70807b57ed557bfecf932e5448016c2 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Mon, 22 Jan 2018 20:27:37 +0800 -Subject: [PATCH 47/94] runc: add more specific log for hooks - -[Changelog]: add more specific log for hooks -[Author]:Shukui Yang - -Change-Id: I317232b42a5fd6bc16773fe4aa0a376d8b9b6806 -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 5 +++++ - libcontainer/process_linux.go | 5 +++++ - libcontainer/state_linux.go | 3 +++ - 3 files changed, 13 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 9fabadc..74b82c5 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -290,12 +290,15 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { -+ logrus.Infof("run poststart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { -+ logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) - if err := parent.terminate(); err != nil { - logrus.Warn(err) - } - return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } - } - } else { -@@ -1261,9 +1264,11 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { -+ logrus.Infof("run prestart hook: %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d", i) - } -+ logrus.Infof("prestart hook: %d:%s done", i, hook.Info()) - } - } - case notify.GetScript() == "post-restore": -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 1b478d7..9064c0e 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -13,6 +13,7 @@ import ( - "strconv" - "syscall" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" -@@ -306,9 +307,11 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -+ logrus.Infof("run prestart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - } -@@ -329,9 +332,11 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -+ logrus.Infof("run prestart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - // Sync with child. -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index c4f0dfc..b8d2a87 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -66,9 +66,12 @@ func runPoststopHooks(c *linuxContainer) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststop { -+ logrus.Infof("run poststop hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { -+ logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) - return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } - } - return nil --- -2.7.4.3 - diff --git a/patch/0048-runc-Only-configure-networking.patch b/patch/0048-runc-Only-configure-networking.patch deleted file mode 100644 index b1d0945bfdee9384de417aa6ea3c3e11d8fe36f5..0000000000000000000000000000000000000000 --- a/patch/0048-runc-Only-configure-networking.patch +++ /dev/null @@ -1,40 +0,0 @@ -From caeb202a8a95863a44fa8f45e0515437239b173c Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Wed, 16 May 2018 15:16:51 +0800 -Subject: [PATCH 48/94] runc: Only configure networking - -[Changelog]: Only configure networking when creating a net ns -When joining an existing namespace, don't default to configuring a -loopback interface in that namespace. - -Its creator should have done that, and we don't want to fail to create -the container when we don't have sufficient privileges to configure the -network namespace. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1777 -[Author]:Shukui Yang - -Change-Id: I1f181f18e23c621db6718a185e35b50531d27c09 -Signed-off-by: Nalin Dahyabhai -Signed-off-by: dengguangxing ---- - libcontainer/specconv/spec_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8a2947f..a968313 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -194,7 +194,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - config.Namespaces.Add(t, ns.Path) - } -- if config.Namespaces.Contains(configs.NEWNET) { -+ if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { - config.Networks = []*configs.Network{ - { - Type: "loopback", --- -2.7.4.3 - diff --git a/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch b/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch deleted file mode 100644 index 508b002b03c242083454f156b063f0aa6d1b2bc2..0000000000000000000000000000000000000000 --- a/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ee3660e477b70d73812390ad96d82681f82f2e9b Mon Sep 17 00:00:00 2001 -From: Denys Smirnov -Date: Tue, 6 Mar 2018 23:31:31 +0100 -Subject: [PATCH 49/94] cgroups/fs: fix NPE on Destroy than no - cgroups are set - - -[Changelog]: Currently Manager accepts nil cgroups when calling Apply, but -it will panic then trying to call Destroy with the same config. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1752 -[Author]:Shukui Yang - -Change-Id: Ie7aba1d1b7086a82a1d186038fb5e6c09b617f75 -Signed-off-by: Denys Smirnov -Signed-off-by: dengguangxing ---- - libcontainer/cgroups/fs/apply_raw.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 22d82ac..66debae 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -152,7 +152,7 @@ func (m *Manager) Apply(pid int) (err error) { - } - - func (m *Manager) Destroy() error { -- if m.Cgroups.Paths != nil { -+ if m.Cgroups == nil || m.Cgroups.Paths != nil { - return nil - } - m.mu.Lock() --- -2.7.4.3 - diff --git a/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch b/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch deleted file mode 100644 index 756ac9bafdfe14e14eda22d51f24c9b84cde2d4e..0000000000000000000000000000000000000000 --- a/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 7e65e11136e81a834effe40a9f926416fb1eea78 Mon Sep 17 00:00:00 2001 -From: Will Martin -Date: Mon, 22 Jan 2018 17:03:02 +0000 -Subject: [PATCH 50/94] runc: Avoid race when opening exec fifo - - -[Changelog]: Avoid race when opening exec fifo - -When starting a container with `runc start` or `runc run`, the stub -process (runc[2:INIT]) opens a fifo for writing. Its parent runc process -will open the same fifo for reading. In this way, they synchronize. - -If the stub process exits at the wrong time, the parent runc process -will block forever. - -This can happen when racing 2 runc operations against each other: `runc -run/start`, and `runc delete`. It could also happen for other reasons, -e.g. the kernel's OOM killer may select the stub process. - -This commit resolves this race by racing the opening of the exec fifo -from the runc parent process against the stub process exiting. If the -stub process exits before we open the fifo, we return an error. - -Another solution is to wait on the stub process. However, it seems it -would require more refactoring to avoid calling wait multiple times on -the same process, which is an error. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1698 -[Author]:Shukui Yang - -Change-Id: Id0ba756349b59463f7ee19ad63a6f243bee4a729 -Signed-off-by: Craig Furman -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 69 +++++++++++++++++++++++++++++++++++------ - libcontainer/system/proc.go | 59 +++++++++++++++++++++++++++++++++++ - 2 files changed, 119 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 74b82c5..278f597 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -5,6 +5,7 @@ package libcontainer - import ( - "bytes" - "encoding/json" -+ "errors" - "fmt" - "io" - "io/ioutil" -@@ -239,20 +240,70 @@ func (c *linuxContainer) Exec() error { - - func (c *linuxContainer) exec() error { - path := filepath.Join(c.root, execFifoFilename) -- f, err := os.OpenFile(path, os.O_RDONLY, 0) -- if err != nil { -- return newSystemErrorWithCause(err, "open exec fifo for reading") -+ -+ fifoOpen := make(chan struct{}) -+ select { -+ case <-awaitProcessExit(c.initProcess.pid(), fifoOpen): -+ return errors.New("container process is already dead") -+ case result := <-awaitFifoOpen(path): -+ close(fifoOpen) -+ if result.err != nil { -+ return result.err -+ } -+ f := result.file -+ defer f.Close() -+ if err := readFromExecFifo(f); err != nil { -+ return err -+ } -+ return os.Remove(path) - } -- defer f.Close() -- data, err := ioutil.ReadAll(f) -+} -+ -+func readFromExecFifo(execFifo io.Reader) error { -+ data, err := ioutil.ReadAll(execFifo) - if err != nil { - return err - } -- if len(data) > 0 { -- os.Remove(path) -- return nil -+ if len(data) <= 0 { -+ return fmt.Errorf("cannot start an already running container") - } -- return fmt.Errorf("cannot start an already running container") -+ return nil -+} -+ -+func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { -+ isDead := make(chan struct{}) -+ go func() { -+ for { -+ select { -+ case <-exit: -+ return -+ case <-time.After(time.Millisecond * 100): -+ stat, err := system.GetProcessState(pid) -+ if err != nil || stat == system.Zombie { -+ close(isDead) -+ return -+ } -+ } -+ } -+ }() -+ return isDead -+} -+ -+func awaitFifoOpen(path string) <-chan openResult { -+ fifoOpened := make(chan openResult) -+ go func() { -+ f, err := os.OpenFile(path, os.O_RDONLY, 0) -+ if err != nil { -+ fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} -+ } -+ fifoOpened <- openResult{file: f} -+ }() -+ return fifoOpened -+} -+ -+type openResult struct { -+ file *os.File -+ err error - } - - func (c *linuxContainer) start(process *Process, isInit bool) error { -diff --git a/libcontainer/system/proc.go b/libcontainer/system/proc.go -index a0e9637..03fd940 100644 ---- a/libcontainer/system/proc.go -+++ b/libcontainer/system/proc.go -@@ -1,12 +1,48 @@ - package system - - import ( -+ "fmt" - "io/ioutil" - "path/filepath" - "strconv" - "strings" - ) - -+type State rune -+ -+const ( // Only values for Linux 3.14 and later are listed here -+ Dead State = 'X' -+ DiskSleep State = 'D' -+ Running State = 'R' -+ Sleeping State = 'S' -+ Stopped State = 'T' -+ TracingStop State = 't' -+ Zombie State = 'Z' -+) -+ -+// String forms of the state from proc(5)'s documentation for -+// /proc/[pid]/status' "State" field. -+func (s State) String() string { -+ switch s { -+ case Dead: -+ return "dead" -+ case DiskSleep: -+ return "disk sleep" -+ case Running: -+ return "running" -+ case Sleeping: -+ return "sleeping" -+ case Stopped: -+ return "stopped" -+ case TracingStop: -+ return "tracing stop" -+ case Zombie: -+ return "zombie" -+ default: -+ return fmt.Sprintf("unknown (%c)", s) -+ } -+} -+ - // look in /proc to find the process start time so that we can verify - // that this pid has started after ourself - func GetProcessStartTime(pid int) (string, error) { -@@ -41,3 +77,26 @@ func parseStartTime(stat string) (string, error) { - parts := strings.Split(strings.TrimSpace(s[len(s)-1]), " ") - return parts[22-3], nil // starts at 3 (after the filename pos `2`) - } -+ -+func GetProcessState(pid int) (State, error) { -+ data, err := ioutil.ReadFile(filepath.Join("/proc", strconv.Itoa(pid), "stat")) -+ if err != nil { -+ return State(0), err -+ } -+ return parseState(string(data)) -+ -+} -+ -+func parseState(data string) (State, error) { -+ i := strings.LastIndex(data, ")") -+ if i <= 2 || i >= len(data)-3 { -+ return State(0), fmt.Errorf("invalid stat data: %q", data) -+ } -+ -+ parts := strings.Split(data[i+2:], " ") -+ -+ var state int -+ fmt.Sscanf(parts[3-3], "%c", &state) -+ stateStr := State(state) -+ return stateStr, nil -+} --- -2.7.4.3 - diff --git a/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch b/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch deleted file mode 100644 index 1689f327d7486e4d291bbc77e1f0963e31869f6c..0000000000000000000000000000000000000000 --- a/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch +++ /dev/null @@ -1,33 +0,0 @@ -From df24ec79d3a69e9deab962eacc8ecbd46b0aefd9 Mon Sep 17 00:00:00 2001 -From: Ed King -Date: Tue, 23 Jan 2018 10:46:31 +0000 -Subject: [PATCH 51/94] runc: Return from goroutine when it should - terminate - - -[Changelog]: This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1698 -[Author]:Shukui Yang - -Change-Id: Ie99f80c1fb5912d99dd7426b47f93e9f5a6efb23 -Signed-off-by: Craig Furman -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 278f597..50fe657 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -295,6 +295,7 @@ func awaitFifoOpen(path string) <-chan openResult { - f, err := os.OpenFile(path, os.O_RDONLY, 0) - if err != nil { - fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} -+ return - } - fifoOpened <- openResult{file: f} - }() --- -2.7.4.3 - diff --git a/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch b/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch deleted file mode 100644 index 184f6be62b38a0e8c69c3d65ef14fcfa8e04d1e1..0000000000000000000000000000000000000000 --- a/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a119a29bc908bfd1385cbdcee4cc800e2b022b09 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Wed, 22 Aug 2018 17:06:01 +0800 -Subject: [PATCH 54/94] runc: ignore exec.fifo removing not exist error - -[Changelog]:cherry-pick from vtwrse <4af7ee1635962fe3bd86ac87064fdcd7e60c1135> -Change-Id: I34a30672fb92c974965b3a53cfb8ccc75932e6d8 -Signed-off-by: jiangpengfei9 ---- - libcontainer/container_linux.go | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 50fe657..502a274 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -255,7 +255,10 @@ func (c *linuxContainer) exec() error { - if err := readFromExecFifo(f); err != nil { - return err - } -- return os.Remove(path) -+ if err := os.Remove(path); !os.IsNotExist(err) { -+ return err -+ } -+ return nil - } - } - --- -2.7.4.3 - diff --git a/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch b/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch deleted file mode 100644 index 729a155585815bbf7e73d85ac92aed936d523a3b..0000000000000000000000000000000000000000 --- a/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0a5b23584d79bba18429905c43774bc50a117b4b Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Sat, 4 Nov 2017 14:55:40 +0800 -Subject: [PATCH 56/94] runc: Modify max files.limit to max because of - the change of kernel. - -[Changelog]: Kernel has change max files.limit to max,So docker need -change too. - -Change-Id: Iea6e5eb1dddf0f8d2d55ee3182ed78957cb09a75 -Signed-off-by: yangshukui ---- - libcontainer/cgroups/fs/files.go | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index f2e253a..3214a82 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -4,28 +4,15 @@ package fs - - import ( - "fmt" -- "io/ioutil" - "strconv" - - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - ) - --var ( -- defaultFilesMax = "8192" --) -- - type FilesGroup struct { - } - --func init() { -- contents, err := ioutil.ReadFile("/proc/sys/fs/file-max") -- if err != nil { -- return -- } -- defaultFilesMax = string(contents) --} -- - func (s *FilesGroup) Name() string { - return "files" - } -@@ -40,7 +27,8 @@ func (s *FilesGroup) Apply(d *cgroupData) error { - - func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { - if cgroup.Resources.FilesLimit != 0 { -- limit := defaultFilesMax -+ // "max" is the fallback value. -+ limit := "max" - if cgroup.Resources.FilesLimit > 0 { - limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) - } --- -2.7.4.3 - diff --git a/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch b/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch deleted file mode 100644 index 46462b5cbd679d51f99df5c370b68ec6a47485c4..0000000000000000000000000000000000000000 --- a/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From aff98c05dbaf30fec52a0afed19ebf4a03303d63 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Mon, 6 Nov 2017 01:43:45 +0000 -Subject: [PATCH 57/94] runc: change read value of cgroup files.limit - into string - -[Changelog]:change read value of cgroup files.limit from int to string. -For avoiding of value `max` -[Author]git - -Change-Id: Iec6197528b1aebb13a0ea64ba919a7b4c6f31d61 -Signed-off-by: caihaomin ---- - libcontainer/cgroups/fs/files.go | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index 3214a82..70e9524 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -8,6 +8,7 @@ import ( - - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -+ "path/filepath" - ) - - type FilesGroup struct { -@@ -51,12 +52,21 @@ func (s *FilesGroup) GetStats(path string, stats *cgroups.Stats) error { - return fmt.Errorf("failed to parse files.usage - %s", err) - } - -- limit, err := getCgroupParamUint(path, "files.limit") -+ maxString, err := getCgroupParamString(path, "files.limit") - if err != nil { - return fmt.Errorf("failed to parse files.limit - %s", err) - } - -+ // Default if files.limit == "max" is 0 -- which represents "no limit". -+ var max uint64 -+ if maxString != "max" { -+ max, err = parseUint(maxString, 10, 64) -+ if err != nil { -+ return fmt.Errorf("failed to parse files.limit -- unable to parse %q as a uint from Cgroup file %q", maxString, filepath.Join(path, "file.limits")) -+ } -+ } -+ - stats.FilesStats.Usage = usage -- stats.FilesStats.Limit = limit -+ stats.FilesStats.Limit = max - return nil - } --- -2.7.4.3 - diff --git a/patch/0058-runc-fix-panic-when-Linux-is-nil.patch b/patch/0058-runc-fix-panic-when-Linux-is-nil.patch deleted file mode 100644 index 679bc0ba29b0a1c1d6d6bacdce72a6331865271e..0000000000000000000000000000000000000000 --- a/patch/0058-runc-fix-panic-when-Linux-is-nil.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 20e119ab64e02e627671957bbfa445b988cc8687 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Wed, 16 May 2018 15:50:27 +0800 -Subject: [PATCH 58/94] runc: fix panic when Linux is nil - - -[Changelog]: Linux is not always not nil. -If Linux is nil, panic will occur. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1551 -[Author]:Shukui Yang -Conflicts: - libcontainer/specconv/spec_linux.go - -Change-Id: Ib3bf9e80852dc079ab2d42a8234297397f3c56d9 -Signed-off-by: Ma Shimiao -Signed-off-by: Michael Crosby -Signed-off-by: dengguangxing ---- - libcontainer/specconv/spec_linux.go | 121 +++++++++++++++++++----------------- - 1 file changed, 65 insertions(+), 56 deletions(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index b82082e..a8cf114 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -180,20 +180,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - - exists := false -- if config.RootPropagation, exists = mountPropagationMapping[spec.Linux.RootfsPropagation]; !exists { -- return nil, fmt.Errorf("rootfsPropagation=%v is not supported", spec.Linux.RootfsPropagation) -- } -- -- for _, ns := range spec.Linux.Namespaces { -- t, exists := namespaceMapping[ns.Type] -- if !exists { -- return nil, fmt.Errorf("namespace %q does not exist", ns) -- } -- if config.Namespaces.Contains(t) { -- return nil, fmt.Errorf("malformed spec file: duplicated ns %q", ns) -- } -- config.Namespaces.Add(t, ns.Path) -- } - if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { - config.Networks = []*configs.Network{ - { -@@ -215,15 +201,35 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - return nil, err - } - config.Cgroups = c -- // set extra path masking for libcontainer for the various unsafe places in proc -- config.MaskPaths = spec.Linux.MaskedPaths -- config.ReadonlyPaths = spec.Linux.ReadonlyPaths -- if spec.Linux.Seccomp != nil { -- seccomp, err := setupSeccomp(spec.Linux.Seccomp) -- if err != nil { -- return nil, err -+ // set linux-specific config -+ if spec.Linux != nil { -+ if config.RootPropagation, exists = mountPropagationMapping[spec.Linux.RootfsPropagation]; !exists { -+ return nil, fmt.Errorf("rootfsPropagation=%v is not supported", spec.Linux.RootfsPropagation) -+ } -+ -+ for _, ns := range spec.Linux.Namespaces { -+ t, exists := namespaceMapping[ns.Type] -+ if !exists { -+ return nil, fmt.Errorf("namespace %q does not exist", ns) -+ } -+ if config.Namespaces.Contains(t) { -+ return nil, fmt.Errorf("malformed spec file: duplicated ns %q", ns) -+ } -+ config.Namespaces.Add(t, ns.Path) -+ } -+ -+ // set extra path masking for libcontainer for the various unsafe places in proc -+ config.MaskPaths = spec.Linux.MaskedPaths -+ config.ReadonlyPaths = spec.Linux.ReadonlyPaths -+ config.MountLabel = spec.Linux.MountLabel -+ config.Sysctl = spec.Linux.Sysctl -+ if spec.Linux.Seccomp != nil { -+ seccomp, err := setupSeccomp(spec.Linux.Seccomp) -+ if err != nil { -+ return nil, err -+ } -+ config.Seccomp = seccomp - } -- config.Seccomp = seccomp - } - if spec.Process.SelinuxLabel != "" { - config.ProcessLabel = spec.Process.SelinuxLabel -@@ -242,7 +248,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - } - createHooks(spec, config) -- config.MountLabel = spec.Linux.MountLabel - config.Version = specs.Version - return config, nil - } -@@ -565,41 +570,40 @@ func createDevices(spec *specs.Spec, config *configs.Config) error { - }, - } - // merge in additional devices from the spec -- for _, d := range spec.Linux.Devices { -- var uid, gid uint32 -- var filemode os.FileMode = 0666 -+ if spec.Linux != nil { -+ for _, d := range spec.Linux.Devices { -+ var uid, gid uint32 -+ var filemode os.FileMode = 0666 - -- if d.UID != nil { -- uid = *d.UID -- } -- if d.GID != nil { -- gid = *d.GID -- } -- dt, err := stringToDeviceRune(d.Type) -- if err != nil { -- return err -- } -- if d.FileMode != nil { -- filemode = *d.FileMode -- } -- device := &configs.Device{ -- Type: dt, -- Path: d.Path, -- Major: d.Major, -- Minor: d.Minor, -- FileMode: filemode, -- Uid: uid, -- Gid: gid, -+ if d.UID != nil { -+ uid = *d.UID -+ } -+ if d.GID != nil { -+ gid = *d.GID -+ } -+ dt, err := stringToDeviceRune(d.Type) -+ if err != nil { -+ return err -+ } -+ if d.FileMode != nil { -+ filemode = *d.FileMode -+ } -+ device := &configs.Device{ -+ Type: dt, -+ Path: d.Path, -+ Major: d.Major, -+ Minor: d.Minor, -+ FileMode: filemode, -+ Uid: uid, -+ Gid: gid, -+ } -+ config.Devices = append(config.Devices, device) - } -- config.Devices = append(config.Devices, device) - } - return nil - } - - func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { -- if len(spec.Linux.UIDMappings) == 0 { -- return nil -- } - create := func(m specs.LinuxIDMapping) configs.IDMap { - return configs.IDMap{ - HostID: int(m.HostID), -@@ -607,11 +611,16 @@ func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { - Size: int(m.Size), - } - } -- for _, m := range spec.Linux.UIDMappings { -- config.UidMappings = append(config.UidMappings, create(m)) -- } -- for _, m := range spec.Linux.GIDMappings { -- config.GidMappings = append(config.GidMappings, create(m)) -+ if spec.Linux != nil { -+ if len(spec.Linux.UIDMappings) == 0 { -+ return nil -+ } -+ for _, m := range spec.Linux.UIDMappings { -+ config.UidMappings = append(config.UidMappings, create(m)) -+ } -+ for _, m := range spec.Linux.GIDMappings { -+ config.GidMappings = append(config.GidMappings, create(m)) -+ } - } - rootUID, err := config.HostRootUID() - if err != nil { --- -2.7.4.3 - diff --git a/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch b/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch deleted file mode 100644 index b2d1d7380e399a2abb501c146d635d2f824131e5..0000000000000000000000000000000000000000 --- a/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 394c8695f22731938994fdc5d7db678762119481 Mon Sep 17 00:00:00 2001 -From: Wentao Zhang -Date: Tue, 20 Dec 2016 06:21:10 -0500 -Subject: [PATCH 59/94] Fix setup cgroup before prestart hook - -* User Case: -User could use prestart hook to add block devices to container. so the -hook should have a way to set the permissions of the devices. - -Just move cgroup config operation before prestart hook will work. -Conflicts: - libcontainer/process_linux.go - -Change-Id: I991138f4e686c4268e0629204ce1eae6452fdecf -Signed-off-by: Wentao Zhang ---- - libcontainer/process_linux.go | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 9064c0e..70e93de 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -286,9 +286,6 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { -@@ -296,6 +293,11 @@ func (p *initProcess) start() error { - } - // call prestart hooks - if !p.config.Config.Namespaces.Contains(configs.NEWNS) { -+ // Setup cgroup before prestart hook, so that the prestart hook could apply cgroup permissions. -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } -+ - if p.config.Config.Hooks != nil { - s := configs.HookState{ - SpecState: configs.SpecState{ -@@ -321,6 +323,10 @@ func (p *initProcess) start() error { - } - sentRun = true - case procHooks: -+ // Setup cgroup before prestart hook, so that the prestart hook could apply cgroup permissions. -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } - if p.config.Config.Hooks != nil { - s := configs.HookState{ - SpecState: configs.SpecState{ --- -2.7.4.3 - diff --git a/patch/0061-runc-17-change-golang-build-version-to-make-o.patch b/patch/0061-runc-17-change-golang-build-version-to-make-o.patch deleted file mode 100644 index b0fc5f4e02f5be087916de837c7737decac33e0e..0000000000000000000000000000000000000000 --- a/patch/0061-runc-17-change-golang-build-version-to-make-o.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e457e14dcf0960926109c2f89766e893f79b5da Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Wed, 24 Oct 2018 14:56:01 +0800 -Subject: [PATCH 61/94] runc-17: change golang build version to make - obs happy - -reason:change golang build version to make obs happy - -Change-Id: Ie4b210056b34611bfb37aa6ea8510540f2c79305 -Signed-off-by: caihaomin ---- - script/runc-euleros.spec | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 5318ec2..048ea86 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 3%{?dist} -+Release: 4%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -12,7 +12,7 @@ URL: https://www.opencontainers.org/ - Vendor: OCI - Packager: OCI - --BuildRequires: golang == 1.8.3 -+BuildRequires: golang >= 1.8.3 - BuildRequires: glibc-static - BuildRequires: make - BuildRequires: libseccomp-devel --- -2.7.4.3 - diff --git a/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch b/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch deleted file mode 100644 index 805c0007b5825b4f5540ec297569247e43a763fd..0000000000000000000000000000000000000000 --- a/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ccd2660d85f36695032ed075f8f669ccad17bfc3 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Tue, 23 Oct 2018 16:43:20 +0800 -Subject: [PATCH 62/94] runc: Check the hook timeout in case overflow - -reason:the hook timeout is meaningless when more than 120s - -Change-Id: Ibabf059bd9ba5e68b10189ae4e813d47dcec7ec5 ---- - libcontainer/configs/config.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index d6bc603..9049924 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -14,6 +14,7 @@ import ( - const ( - minHookTimeOut = 1 * time.Second - defaultHookTimeOut = 5 * time.Second -+ maxHookTimeOut = 120 * time.Second - //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. - defaultWarnTime = 96 * time.Second - ) -@@ -355,6 +356,10 @@ func (c Command) Run(s HookState) error { - if c.Timeout != nil && *c.Timeout < minHookTimeOut { - *c.Timeout = defaultHookTimeOut - } -+ if c.Timeout != nil && *c.Timeout > maxHookTimeOut { -+ logrus.Warnf("hook timeout: %s is too long, ContainerID: %s", *c.Timeout, s.ID) -+ *c.Timeout = maxHookTimeOut -+ } - errC := make(chan error, 1) - var ( - timerCh <-chan time.Time -@@ -382,7 +387,7 @@ func (c Command) Run(s HookState) error { - timer := time.NewTimer(*c.Timeout) - defer timer.Stop() - timerCh = timer.C -- warnTime = float64(*c.Timeout) * 0.8 -+ warnTime = (*c.Timeout).Seconds() * 0.8 - } - for { - select { --- -2.7.4.3 - diff --git a/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch b/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch deleted file mode 100644 index 3a12eadb8844b865b6e060c3bfe8f0b25e403447..0000000000000000000000000000000000000000 --- a/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 256b247e9fa9844c8e0760679411427d43b661c9 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 5 Sep 2018 15:16:28 +0800 -Subject: [PATCH 63/94] docker: close openchan immediately to avoid - error - -reason: close openchan immediately to avoid error - -Change-Id: I20664570518ea424088a4eb6a5aac3d38ac08449 -Signed-off-by: wangfengtu ---- - libcontainer/container_linux.go | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index ba5dcd6..61ffb76 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -245,8 +245,7 @@ func (c *linuxContainer) exec() error { - select { - case <-awaitProcessExit(c.initProcess.pid(), fifoOpen): - return errors.New("container process is already dead") -- case result := <-awaitFifoOpen(path): -- close(fifoOpen) -+ case result := <-awaitFifoOpen(path, fifoOpen): - if result.err != nil { - return result.err - } -@@ -283,7 +282,12 @@ func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { - case <-time.After(time.Millisecond * 100): - stat, err := system.GetProcessState(pid) - if err != nil || stat == system.Zombie { -- close(isDead) -+ select { -+ case <-exit: -+ return -+ default: -+ close(isDead) -+ } - return - } - } -@@ -292,10 +296,11 @@ func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { - return isDead - } - --func awaitFifoOpen(path string) <-chan openResult { -+func awaitFifoOpen(path string, fifoOpen chan struct{}) <-chan openResult { - fifoOpened := make(chan openResult) - go func() { - f, err := os.OpenFile(path, os.O_RDONLY, 0) -+ close(fifoOpen) - if err != nil { - fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} - return --- -2.7.4.3 - diff --git a/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch b/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch deleted file mode 100644 index 3b3f49f99544cc5ca3b9d9bd74e93a9ba9c30d13..0000000000000000000000000000000000000000 --- a/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f7c4eae61c9d532ff9ea77aba147976d05235dba Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 30 Oct 2018 15:24:47 +0800 -Subject: [PATCH 64/94] runc: bump to v1.0.0.rc3.4 after normalization - -reason:bump version to v1.0.0.rc3.4 after making runc and -runc-17 into one project - -Change-Id: I9045945c81f9b21aff53659dac98b4461dea4199 -Signed-off-by: lujingxiao ---- - script/runc-euleros.spec | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 048ea86..0ba07be 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 4%{?dist} -+Release: 5%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch b/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch deleted file mode 100644 index c94e0e3ecacf71da3b6db2baaa70efbeea2eb0ae..0000000000000000000000000000000000000000 --- a/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c8e1e988fa6509070411c7dbab50edb40092aaf9 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Sat, 23 Feb 2019 14:13:49 +0800 -Subject: [PATCH 66/94] runc: bump to v1.0.0.rc3.6 - -reason:bump version to v1.0.0.rc3.6 - -Change-Id: I79890c41c7934f96ee6e1d676450d7832cc90f73 -Signed-off-by: jingrui ---- - script/runc-euleros.spec | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 0ba07be..08fceee 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 5%{?dist} -+Release: 6%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0067-runc-make-the-runc-log-more-useful.patch b/patch/0067-runc-make-the-runc-log-more-useful.patch deleted file mode 100644 index 1705ecbe6950dbe797d18e39209c3523b201eda3..0000000000000000000000000000000000000000 --- a/patch/0067-runc-make-the-runc-log-more-useful.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 6bc094ef27ebb55f22c5a1b63ab40a66bf73cc35 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Sat, 3 Nov 2018 12:42:49 +0800 -Subject: [PATCH 67/94] runc: make the runc log more useful. - -reason:changed some log infomation. - -Change-Id: Ib6cda4b8a0ef3a441c45f6c435fe11430f8eada8 -Signed-off-by: panwenxiang ---- - libcontainer/configs/config.go | 13 +++++++++---- - libcontainer/container_linux.go | 1 - - libcontainer/process_linux.go | 4 +--- - libcontainer/state_linux.go | 1 - - main.go | 2 +- - script/runc-euleros.spec | 2 +- - 6 files changed, 12 insertions(+), 11 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 9049924..f8f9d05 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -12,7 +12,7 @@ import ( - ) - - const ( -- minHookTimeOut = 1 * time.Second -+ minHookTimeOut = 0 - defaultHookTimeOut = 5 * time.Second - maxHookTimeOut = 120 * time.Second - //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. -@@ -353,11 +353,12 @@ func (c Command) Run(s HookState) error { - if err := cmd.Start(); err != nil { - return err - } -- if c.Timeout != nil && *c.Timeout < minHookTimeOut { -+ if c.Timeout != nil && *c.Timeout <= minHookTimeOut { - *c.Timeout = defaultHookTimeOut -+ logrus.Warnf("hook timeout should not be negative or zero, set hook timeout as 5s") - } - if c.Timeout != nil && *c.Timeout > maxHookTimeOut { -- logrus.Warnf("hook timeout: %s is too long, ContainerID: %s", *c.Timeout, s.ID) -+ logrus.Warnf("hook timeout: %s is too long, use 120s as timeout. ContainerID: %s", *c.Timeout, s.ID) - *c.Timeout = maxHookTimeOut - } - errC := make(chan error, 1) -@@ -398,7 +399,11 @@ func (c Command) Run(s HookState) error { - cmd.Wait() - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) - case <-time.After(time.Duration(warnTime) * time.Second): -- logrus.Warnf("hook ran more than 80%% of the default timeout, ContainerID: %s", s.ID) -+ if c.Timeout != nil { -+ logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) -+ } else { -+ logrus.Warnf("hook ran more than 80%% of the default timeout 120s, ContainerID: %s", s.ID) -+ } - } - } - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 61ffb76..8e0ad12 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -358,7 +358,6 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } - } - } else { -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 79b1c4e..4a7321c 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -312,7 +312,6 @@ func (p *initProcess) start() error { - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - } -@@ -337,11 +336,10 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s, ContainerID :%s", i, hook.Info(), s.ID) -+ logrus.Infof("run prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - // Sync with child. -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 26e091b..6fa62c0 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -71,7 +71,6 @@ func runPoststopHooks(c *linuxContainer) error { - logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) - return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } - } - return nil -diff --git a/main.go b/main.go -index f15a4ac..e55ff82 100644 ---- a/main.go -+++ b/main.go -@@ -78,7 +78,7 @@ func main() { - }, - cli.StringFlag{ - Name: "log-level", -- Usage: "Set the logging level [debug, info, warn, error, fatal, panic]", -+ Usage: "set the logging level [debug, info, warn, error, fatal, panic]", - }, - cli.StringFlag{ - Name: "root", -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 08fceee..e829cb9 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 6%{?dist} -+Release: 7%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch b/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch deleted file mode 100644 index a3b1d4b2bfbe7901d3c00023709c72793cd3ae6f..0000000000000000000000000000000000000000 --- a/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 940d7088701fbfe6c2d636251490a1d28f90dbdc Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Thu, 8 Nov 2018 10:19:23 +0800 -Subject: [PATCH 68/94] runc: reduced the same log when the hook - exected long time. - -reason:runc would print a lot of same logs when the hook executed long time - -Change-Id: I7d0b07cca68590c560580967f8d70143764f53d9 -Signed-off-by: panwenxiang ---- - libcontainer/configs/config.go | 3 ++- - script/runc-euleros.spec | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index f8f9d05..78a7d1d 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -390,6 +390,7 @@ func (c Command) Run(s HookState) error { - timerCh = timer.C - warnTime = (*c.Timeout).Seconds() * 0.8 - } -+ timeAfter := time.After(time.Duration(warnTime) * time.Second) - for { - select { - case err := <-errC: -@@ -398,7 +399,7 @@ func (c Command) Run(s HookState) error { - cmd.Process.Kill() - cmd.Wait() - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) -- case <-time.After(time.Duration(warnTime) * time.Second): -+ case <-timeAfter: - if c.Timeout != nil { - logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) - } else { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index e829cb9..025b621 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 7%{?dist} -+Release: 8%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch b/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch deleted file mode 100644 index b50ea470312c8598b5c6f860ad14218c81b5fe5e..0000000000000000000000000000000000000000 --- a/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 4b8a7b69792c22c1ee3abf3bee88af3590b144cb Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Thu, 8 Nov 2018 11:14:01 +0800 -Subject: [PATCH 69/94] runc: Change Files to LinuxFiles for - --file-limit - -reason: after runc-1.0.0.rc3, struct Files should be renamed -to LinuxFiles. - ---file-limit related commits: -- 0c540de runc: change read value of cgroup files.limit into string -- fb2de87 runc: Modify max files.limit to max because of the -change of kernel. -- 5fc9474 Add file fds limit -all are already merged. - -Change-Id: Ida75dd6a7ccd225f6ac851bf4a28ef77d5a3944f -Signed-off-by: lujingxiao ---- - libcontainer/specconv/spec_linux.go | 4 ++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/Checklist | 1 + - .../github.com/opencontainers/runtime-spec/specs-go/config.go | 10 +++++----- - 4 files changed, 9 insertions(+), 8 deletions(-) - create mode 100644 vendor/github.com/opencontainers/runtime-spec/Checklist - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a8cf114..8ef9574 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -408,8 +408,8 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -- if r.Files != nil && r.Files.Limit != nil { -- c.Resources.FilesLimit = *r.Files.Limit -+ if r.Files != nil { -+ c.Resources.FilesLimit = r.Files.Limit - } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 025b621..19cdc42 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 8%{?dist} -+Release: 9%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/Checklist b/vendor/github.com/opencontainers/runtime-spec/Checklist -new file mode 100644 -index 0000000..be85bc8 ---- /dev/null -+++ b/vendor/github.com/opencontainers/runtime-spec/Checklist -@@ -0,0 +1 @@ -+Add struct LinuxFiles to vendor/src/github.com/opencontainers/runtime-spec/specs-go/config.go for supporting --files-limit -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 603ecf4..fe3c5b6 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,10 +318,10 @@ type LinuxPids struct { - Limit int64 `json:"limit"` - } - --// Files for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) --type Files struct { -- // Maximum number of open files". -- Limit *int64 `json:"limit,omitempty"` -+// LinuxFiles for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) -+type LinuxFiles struct { -+ // Maximum number of open files. Default is "no limit". -+ Limit int64 `json:"limit,omitempty"` - } - - // LinuxNetwork identification and priority configuration -@@ -347,7 +347,7 @@ type LinuxResources struct { - // Task resource restriction configuration. - Pids *LinuxPids `json:"pids,omitempty"` - // Files resource restriction configuration. -- Files *Files `json:"files,omitempty"` -+ Files *LinuxFiles `json:"files,omitempty"` - // BlockIO restriction configuration - BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` - // Hugetlb limit (in bytes) --- -2.7.4.3 - diff --git a/patch/0070-runc-not-print-no-such-file-when-cli-err.patch b/patch/0070-runc-not-print-no-such-file-when-cli-err.patch deleted file mode 100644 index 0944073c8fdd55975e285072aabab027922abdcc..0000000000000000000000000000000000000000 --- a/patch/0070-runc-not-print-no-such-file-when-cli-err.patch +++ /dev/null @@ -1,48 +0,0 @@ -From e0f78c86d05f7af62aef49c8c495f417d1bf7beb Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Fri, 9 Nov 2018 15:01:27 +0800 -Subject: [PATCH 70/94] runc: not print "no such file" when cli err - -reason: when container does not exists, runc will cannot find -state.json, so "state.json: no such file or directory" is expected. -but user may call runc command anytime, so we should not print such -log to syslog. Just return it with stderr is ok. - -Change-Id: Ia26824d0339f69d8db3ef86c0f8344f60963a177 -Signed-off-by: lujingxiao ---- - main.go | 5 ++++- - script/runc-euleros.spec | 2 +- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/main.go b/main.go -index e55ff82..be3fba6 100644 ---- a/main.go -+++ b/main.go -@@ -163,6 +163,9 @@ type FatalWriter struct { - } - - func (f *FatalWriter) Write(p []byte) (n int, err error) { -- logrus.Error(string(p)) -+ errStr := string(p) -+ if !strings.Contains(errStr, "state.json: no such file or directory") { -+ logrus.Error(errStr) -+ } - return f.cliErrWriter.Write(p) - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 19cdc42..acadd9e 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 9%{?dist} -+Release: 10%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch b/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch deleted file mode 100644 index 09423beed94760d629cdb768293cddb18f75b2cd..0000000000000000000000000000000000000000 --- a/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch +++ /dev/null @@ -1,88 +0,0 @@ -From a667acd5325633858ae671f27075d58345b12619 Mon Sep 17 00:00:00 2001 -From: leizhongkai -Date: Fri, 9 Nov 2018 20:06:31 +0800 -Subject: [PATCH 71/94] runc: [revert]Change Files to LinuxFiles for - --file-limit - -reason:This reverts commit 1695b25310c490fe5038cf5a49e4c17ffc85af0e. - -Signed-off-by: leizhongkai - -Conflicts: - script/runc-euleros.spec - -Change-Id: Iddbcc7eca095b4b8e5d062e06f2f332a2c07caf8 ---- - libcontainer/specconv/spec_linux.go | 4 ++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/Checklist | 1 - - .../github.com/opencontainers/runtime-spec/specs-go/config.go | 10 +++++----- - 4 files changed, 8 insertions(+), 9 deletions(-) - delete mode 100644 vendor/github.com/opencontainers/runtime-spec/Checklist - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8ef9574..a8cf114 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -408,8 +408,8 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -- if r.Files != nil { -- c.Resources.FilesLimit = r.Files.Limit -+ if r.Files != nil && r.Files.Limit != nil { -+ c.Resources.FilesLimit = *r.Files.Limit - } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index acadd9e..16fb43c 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 10%{?dist} -+Release: 11%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/Checklist b/vendor/github.com/opencontainers/runtime-spec/Checklist -deleted file mode 100644 -index be85bc8..0000000 ---- a/vendor/github.com/opencontainers/runtime-spec/Checklist -+++ /dev/null -@@ -1 +0,0 @@ --Add struct LinuxFiles to vendor/src/github.com/opencontainers/runtime-spec/specs-go/config.go for supporting --files-limit -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index fe3c5b6..603ecf4 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,10 +318,10 @@ type LinuxPids struct { - Limit int64 `json:"limit"` - } - --// LinuxFiles for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) --type LinuxFiles struct { -- // Maximum number of open files. Default is "no limit". -- Limit int64 `json:"limit,omitempty"` -+// Files for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) -+type Files struct { -+ // Maximum number of open files". -+ Limit *int64 `json:"limit,omitempty"` - } - - // LinuxNetwork identification and priority configuration -@@ -347,7 +347,7 @@ type LinuxResources struct { - // Task resource restriction configuration. - Pids *LinuxPids `json:"pids,omitempty"` - // Files resource restriction configuration. -- Files *LinuxFiles `json:"files,omitempty"` -+ Files *Files `json:"files,omitempty"` - // BlockIO restriction configuration - BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` - // Hugetlb limit (in bytes) --- -2.7.4.3 - diff --git a/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch b/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch deleted file mode 100644 index 40825f2fc267c32ad9068a4497840d0e0871441c..0000000000000000000000000000000000000000 --- a/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b736c8d450f52150db3b8f7a6a247338028b57bf Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 13 Nov 2018 17:21:19 +0800 -Subject: [PATCH 72/94] Revert "runc: not print "no such file" when cli - err" - -reason: This reverts commit 21c62a431c2795f59a82312dd9b8a437a1b2ca28. - -Change-Id: Ice19acd48ef916a3d992d9f4d06cf056361565e5 -Signed-off-by: jingrui ---- - main.go | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/main.go b/main.go -index be3fba6..e55ff82 100644 ---- a/main.go -+++ b/main.go -@@ -163,9 +163,6 @@ type FatalWriter struct { - } - - func (f *FatalWriter) Write(p []byte) (n int, err error) { -- errStr := string(p) -- if !strings.Contains(errStr, "state.json: no such file or directory") { -- logrus.Error(errStr) -- } -+ logrus.Error(string(p)) - return f.cliErrWriter.Write(p) - } --- -2.7.4.3 - diff --git a/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch b/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch deleted file mode 100644 index 433e67e4cbbdfb38592705b7e6e058e750d25bdf..0000000000000000000000000000000000000000 --- a/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 3c0c0adf121e44ee00b7191a2693575676eb90be Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 13 Nov 2018 15:38:05 +0800 -Subject: [PATCH 73/94] runc: fix state.json: no such file or directory - -reason: fix 8c14d652 * runc-17: add compatibility for docker-1.11.2 - -Change-Id: I8ff0b3ae90611dfb6e1f5fbd1b8170c460d9ea2d -Signed-off-by: jingrui ---- - libcontainer/factory_linux.go | 14 +++++++------- - script/runc-euleros.spec | 2 +- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index b533346..fe9ce24 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -368,11 +368,11 @@ func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPa - return errors.New("updateStateCapabilites unexpected format for capabilities") - } - --func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { -+func (l *LinuxFactory) loadOriginState(configPath, id string) (*State, error) { - f, err := os.Open(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(err, ContainerNotExists) -+ return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } -@@ -384,11 +384,11 @@ func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { - return state, nil - } - --func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { -+func (l *LinuxFactory) loadCompatState(configPath, id string) (*State, error) { - dt, err := ioutil.ReadFile(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(err, ContainerNotExists) -+ return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } -@@ -403,14 +403,14 @@ func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { - return nil, newGenericError(err, SystemError) - } - -- return l.loadOriginState(configPath) -+ return l.loadOriginState(configPath, id) - } - - func (l *LinuxFactory) loadState(root, id string) (*State, error) { - configPath := filepath.Join(root, stateFilename) -- state, err := l.loadOriginState(configPath) -+ state, err := l.loadOriginState(configPath, id) - if err != nil { -- return l.loadCompatState(configPath) -+ return l.loadCompatState(configPath, id) - } - return state, nil - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 16fb43c..536678d 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 11%{?dist} -+Release: 12%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch b/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch deleted file mode 100644 index c75dccb0be05d58734f18d31aff27dad5ab63f24..0000000000000000000000000000000000000000 --- a/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 0a760e4753e743a0fe874471584d378b81a02d07 Mon Sep 17 00:00:00 2001 -From: zhangyuyun -Date: Thu, 15 Nov 2018 01:10:44 -0500 -Subject: [PATCH 74/94] runc: fix check sysctl in host network mode - -reason:it's found failed in runc to check if the container is in - the host namespace,which introduced by - https://github.com/opencontainers/runc/pull/1138 - https://github.com/opencontainers/runc/pull/1221 - -Change-Id: If1374c081cea93c700d627b40d2ca1ad58b5fb83 ---- - libcontainer/configs/validate/validator.go | 27 ++++++++++++++++++--------- - script/runc-euleros.spec | 2 +- - 2 files changed, 19 insertions(+), 10 deletions(-) - -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index 8284345..5cb50fb 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -5,6 +5,7 @@ import ( - "os" - "path/filepath" - "strings" -+ "syscall" - - "github.com/opencontainers/runc/libcontainer/configs" - selinux "github.com/opencontainers/selinux/go-selinux" -@@ -177,16 +178,24 @@ func checkHostNs(sysctlConfig string, path string) error { - return fmt.Errorf("could not check that %q is a symlink: %v", path, err) - } - -+ var destOfContainer string - if symLink == false { -- // The provided namespace is not a symbolic link, -- // it is not the host namespace. -- return nil -- } -- -- // readlink on the path provided in the struct -- destOfContainer, err := os.Readlink(path) -- if err != nil { -- return fmt.Errorf("read soft link %q error", path) -+ // try getting inode number for comparsion -+ f, err := os.Stat(path) -+ if err != nil { -+ return err -+ } -+ stat, ok := f.Sys().(*syscall.Stat_t) -+ if !ok { -+ return fmt.Errorf("cannot convert stat value of %q to syscall.Stat_t", path) -+ } -+ destOfContainer = fmt.Sprintf("net:[%d]", stat.Ino) -+ } else { -+ // readlink on the path provided in the struct -+ destOfContainer, err = os.Readlink(path) -+ if err != nil { -+ return fmt.Errorf("read soft link %q error", path) -+ } - } - if destOfContainer == destOfCurrentProcess { - return fmt.Errorf("sysctl %q is not allowed in the hosts network namespace", sysctlConfig) -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 536678d..0e92bf0 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 12%{?dist} -+Release: 13%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0075-runc-Fix-systemd-journald-service-dependency.patch b/patch/0075-runc-Fix-systemd-journald-service-dependency.patch deleted file mode 100644 index 57fc63dcc7c86a653feb718275ae5565799be199..0000000000000000000000000000000000000000 --- a/patch/0075-runc-Fix-systemd-journald-service-dependency.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b35de14c25e51f98c3e61636ed79ba91e6259596 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Thu, 6 Dec 2018 19:44:58 +0800 -Subject: [PATCH 75/94] runc: Fix systemd-journald service dependency - -reason:runc logs forwarding to syslog only when systemd-journald service -status is active and running. - -Change-Id: Ib95f0269c6905642050be1c4d195e95919245159 -Signed-off-by: zhangsong34 ---- - main.go | 12 ++++++++---- - script/runc-euleros.spec | 2 +- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/main.go b/main.go -index e55ff82..dcc2925 100644 ---- a/main.go -+++ b/main.go -@@ -8,6 +8,7 @@ import ( - "github.com/urfave/cli" - "io" - "log/syslog" -+ "net" - "os" - "strings" - ) -@@ -121,11 +122,14 @@ func main() { - return err - } - logrus.SetOutput(f) -- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -- if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) -+ if conn, err := net.Dial("unixgram", "/run/systemd/journal/socket"); err == nil { -+ defer conn.Close() -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ } -+ logrus.AddHook(hook) - } -- logrus.AddHook(hook) - } - switch context.GlobalString("log-format") { - case "text": -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 0e92bf0..354bb24 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 13%{?dist} -+Release: 14%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0076-runc-Fix-syslog-hook-bug.patch b/patch/0076-runc-Fix-syslog-hook-bug.patch deleted file mode 100644 index 321bc413988ae93e2850b192d8105d65351e9eba..0000000000000000000000000000000000000000 --- a/patch/0076-runc-Fix-syslog-hook-bug.patch +++ /dev/null @@ -1,60 +0,0 @@ -From e42b9955244945b3571aad2e2a612b827f6cafa2 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Thu, 6 Dec 2018 21:41:59 +0800 -Subject: [PATCH 76/94] runc: Fix syslog hook bug - -reason:If NewSyslogHook() function returns error, it indicates that -systemd-journald service is not running, do not add this hook. - -Change-Id: Ifd6c9a79a4055da275a8c4c867195f220b0cdffd -Signed-off-by: zhangsong34 ---- - main.go | 11 ++++------- - script/runc-euleros.spec | 2 +- - 2 files changed, 5 insertions(+), 8 deletions(-) - -diff --git a/main.go b/main.go -index dcc2925..5f0ec91 100644 ---- a/main.go -+++ b/main.go -@@ -8,7 +8,6 @@ import ( - "github.com/urfave/cli" - "io" - "log/syslog" -- "net" - "os" - "strings" - ) -@@ -122,12 +121,10 @@ func main() { - return err - } - logrus.SetOutput(f) -- if conn, err := net.Dial("unixgram", "/run/systemd/journal/socket"); err == nil { -- defer conn.Close() -- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -- if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -- } -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ } else { - logrus.AddHook(hook) - } - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 354bb24..34f9d22 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 14%{?dist} -+Release: 15%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch b/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch deleted file mode 100644 index 2d721928fc26af416fba7c282243ad9307731c65..0000000000000000000000000000000000000000 --- a/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2f064ca54d3e1fcc41bc8f97c3ac8a354de34fff Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 12 Dec 2018 18:53:48 +0800 -Subject: [PATCH 77/94] runc: Require libseccomp-static lib for - upgrade - -reason:Require libseccomp-static lib for upgrade - -Change-Id: Ie80603197c95ab36ce23c11c8b0807b43d0fb916 -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 34f9d22..f21ac08 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 15%{?dist} -+Release: 16%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -18,6 +18,7 @@ BuildRequires: make - BuildRequires: libseccomp-devel - BuildRequires: libselinux-devel - -+BuildRequires: libseccomp-static - - %description - runc is a CLI tool for spawning and running containers according to the OCF specification --- -2.7.4.3 - diff --git a/patch/0078-runc-Fix-race-in-runc-exec.patch b/patch/0078-runc-Fix-race-in-runc-exec.patch deleted file mode 100644 index 0a96a804432ec9e09b6e894245b2f8a661b42f99..0000000000000000000000000000000000000000 --- a/patch/0078-runc-Fix-race-in-runc-exec.patch +++ /dev/null @@ -1,499 +0,0 @@ -From 7bef8ad8bbe3fed26c02b070b6ba09d484ec514b Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Fri, 1 Jun 2018 12:56:13 -0700 -Subject: [PATCH 78/94] runc: Fix race in runc exec - -reason:There is a race in runc exec when the init process stops just before -the check for the container status. It is then wrongly assumed that -we are trying to start an init process instead of an exec process. - -This commit add an Init field to libcontainer Process to distinguish -between init and exec processes to prevent this race. - -cherry-picked from upstream https://github.com/opencontainers/runc/pull/1812 - -conflicts: - exec.go - libcontainer/container_linux.go - utils_linux.go - -Change-Id: I945a5f663914e652cc117aa33885d687f70a51e4 -Signed-off-by: Mrunal Patel -Signed-off-by: wangfengtu ---- - exec.go | 1 + - libcontainer/container_linux.go | 29 +++++++++-------------------- - libcontainer/integration/checkpoint_test.go | 2 ++ - libcontainer/integration/exec_test.go | 19 +++++++++++++++++++ - libcontainer/integration/execin_test.go | 11 +++++++++++ - libcontainer/integration/seccomp_test.go | 3 +++ - libcontainer/integration/utils_test.go | 1 + - libcontainer/process.go | 3 +++ - utils_linux.go | 7 +++++-- - 9 files changed, 54 insertions(+), 22 deletions(-) - -diff --git a/exec.go b/exec.go -index 22f2689..9ed90ea 100644 ---- a/exec.go -+++ b/exec.go -@@ -135,6 +135,7 @@ func execProcess(context *cli.Context) (int, error) { - consoleSocket: context.String("console-socket"), - detach: detach, - pidFile: context.String("pid-file"), -+ init: false, - } - return r.run(p) - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 8e0ad12..8100aca 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -197,17 +197,13 @@ func (c *linuxContainer) Set(config configs.Config) error { - func (c *linuxContainer) Start(process *Process) error { - c.m.Lock() - defer c.m.Unlock() -- status, err := c.currentStatus() -- if err != nil { -- return err -- } -- if status == Stopped { -+ if process.Init { - if err := c.createExecFifo(); err != nil { - return err - } - } -- if err := c.start(process, status == Stopped); err != nil { -- if status == Stopped { -+ if err := c.start(process); err != nil { -+ if process.Init { - c.deleteExecFifo() - } - return err -@@ -216,17 +212,10 @@ func (c *linuxContainer) Start(process *Process) error { - } - - func (c *linuxContainer) Run(process *Process) error { -- c.m.Lock() -- status, err := c.currentStatus() -- if err != nil { -- c.m.Unlock() -- return err -- } -- c.m.Unlock() - if err := c.Start(process); err != nil { - return err - } -- if status == Stopped { -+ if process.Init { - return c.exec() - } - return nil -@@ -315,8 +304,8 @@ type openResult struct { - err error - } - --func (c *linuxContainer) start(process *Process, isInit bool) error { -- parent, err := c.newParentProcess(process, isInit) -+func (c *linuxContainer) start(process *Process) error { -+ parent, err := c.newParentProcess(process) - if err != nil { - return newSystemErrorWithCause(err, "creating new parent process") - } -@@ -329,7 +318,7 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - // generate a timestamp indicating when the container was started - c.created = time.Now().UTC() -- if isInit { -+ if process.Init { - c.state = &createdState{ - c: c, - } -@@ -409,7 +398,7 @@ func (c *linuxContainer) deleteExecFifo() { - os.Remove(fifoName) - } - --func (c *linuxContainer) newParentProcess(p *Process, doInit bool) (parentProcess, error) { -+func (c *linuxContainer) newParentProcess(p *Process) (parentProcess, error) { - parentPipe, childPipe, err := utils.NewSockPair("init") - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new init pipe") -@@ -418,7 +407,7 @@ func (c *linuxContainer) newParentProcess(p *Process, doInit bool) (parentProces - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new command template") - } -- if !doInit { -+ if !p.Init { - return c.newSetnsProcess(p, cmd, parentPipe, childPipe) - } - -diff --git a/libcontainer/integration/checkpoint_test.go b/libcontainer/integration/checkpoint_test.go -index bc5b0a3..b4d55e0 100644 ---- a/libcontainer/integration/checkpoint_test.go -+++ b/libcontainer/integration/checkpoint_test.go -@@ -87,6 +87,7 @@ func TestCheckpoint(t *testing.T) { - Env: standardEnvironment, - Stdin: stdinR, - Stdout: &stdout, -+ Init: true, - } - - err = container.Run(&pconfig) -@@ -182,6 +183,7 @@ func TestCheckpoint(t *testing.T) { - Cwd: "/", - Stdin: restoreStdinR, - Stdout: &stdout, -+ Init: true, - } - - err = container.Restore(restoreProcessConfig, checkpointOpts) -diff --git a/libcontainer/integration/exec_test.go b/libcontainer/integration/exec_test.go -index f3dd72a..583b04a 100644 ---- a/libcontainer/integration/exec_test.go -+++ b/libcontainer/integration/exec_test.go -@@ -230,6 +230,7 @@ func TestEnter(t *testing.T) { - Env: standardEnvironment, - Stdin: stdinR, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - stdinR.Close() -@@ -319,6 +320,7 @@ func TestProcessEnv(t *testing.T) { - }, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -365,6 +367,7 @@ func TestProcessEmptyCaps(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -416,6 +419,7 @@ func TestProcessCaps(t *testing.T) { - Stdin: nil, - Stdout: &stdout, - Capabilities: &configs.Capabilities{}, -+ Init: true, - } - pconfig.Capabilities.Bounding = append(config.Capabilities.Bounding, "CAP_NET_ADMIN") - pconfig.Capabilities.Permitted = append(config.Capabilities.Permitted, "CAP_NET_ADMIN") -@@ -490,6 +494,7 @@ func TestAdditionalGroups(t *testing.T) { - Stdin: nil, - Stdout: &stdout, - AdditionalGroups: []string{"plugdev", "audio"}, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -550,6 +555,7 @@ func testFreeze(t *testing.T, systemd bool) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(pconfig) - stdinR.Close() -@@ -761,6 +767,7 @@ func TestContainerState(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(p) - if err != nil { -@@ -814,6 +821,7 @@ func TestPassExtraFiles(t *testing.T) { - ExtraFiles: []*os.File{pipein1, pipein2}, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&process) - if err != nil { -@@ -895,6 +903,7 @@ func TestMountCmds(t *testing.T) { - Cwd: "/", - Args: []string{"sh", "-c", "env"}, - Env: standardEnvironment, -+ Init: true, - } - err = container.Run(&pconfig) - if err != nil { -@@ -944,6 +953,7 @@ func TestSysctl(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1084,6 +1094,7 @@ func TestOomScoreAdj(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1189,6 +1200,7 @@ func TestHook(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1305,6 +1317,7 @@ func TestRootfsPropagationSlaveMount(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - - err = container.Run(pconfig) -@@ -1422,6 +1435,7 @@ func TestRootfsPropagationSharedMount(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - - err = container.Run(pconfig) -@@ -1530,6 +1544,7 @@ func TestInitJoinPID(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR1, -+ Init: true, - } - err = container1.Run(init1) - stdinR1.Close() -@@ -1556,6 +1571,7 @@ func TestInitJoinPID(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR2, -+ Init: true, - } - err = container2.Run(init2) - stdinR2.Close() -@@ -1635,6 +1651,7 @@ func TestInitJoinNetworkAndUser(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR1, -+ Init: true, - } - err = container1.Run(init1) - stdinR1.Close() -@@ -1669,6 +1686,7 @@ func TestInitJoinNetworkAndUser(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR2, -+ Init: true, - } - err = container2.Run(init2) - stdinR2.Close() -@@ -1736,6 +1754,7 @@ func TestTmpfsCopyUp(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -diff --git a/libcontainer/integration/execin_test.go b/libcontainer/integration/execin_test.go -index f06075e..988b667 100644 ---- a/libcontainer/integration/execin_test.go -+++ b/libcontainer/integration/execin_test.go -@@ -36,6 +36,7 @@ func TestExecIn(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -103,6 +104,7 @@ func testExecInRlimit(t *testing.T, userns bool) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -121,6 +123,7 @@ func testExecInRlimit(t *testing.T, userns bool) { - // increase process rlimit higher than container rlimit to test per-process limit - {Type: syscall.RLIMIT_NOFILE, Hard: 1026, Soft: 1026}, - }, -+ Init: true, - } - err = container.Run(ps) - ok(t, err) -@@ -157,6 +160,7 @@ func TestExecInAdditionalGroups(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -213,6 +217,7 @@ func TestExecInError(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -265,6 +270,7 @@ func TestExecInTTY(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -349,6 +355,7 @@ func TestExecInEnvironment(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -368,6 +375,7 @@ func TestExecInEnvironment(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - err = container.Run(process2) - ok(t, err) -@@ -413,6 +421,7 @@ func TestExecinPassExtraFiles(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -486,6 +495,7 @@ func TestExecInOomScoreAdj(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -541,6 +551,7 @@ func TestExecInUserns(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -diff --git a/libcontainer/integration/seccomp_test.go b/libcontainer/integration/seccomp_test.go -index 055f887..8e2c7cd 100644 ---- a/libcontainer/integration/seccomp_test.go -+++ b/libcontainer/integration/seccomp_test.go -@@ -48,6 +48,7 @@ func TestSeccompDenyGetcwd(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(pwd) -@@ -123,6 +124,7 @@ func TestSeccompPermitWriteConditional(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(dmesg) -@@ -184,6 +186,7 @@ func TestSeccompDenyWriteConditional(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(dmesg) -diff --git a/libcontainer/integration/utils_test.go b/libcontainer/integration/utils_test.go -index 74d9413..dc6a4d8 100644 ---- a/libcontainer/integration/utils_test.go -+++ b/libcontainer/integration/utils_test.go -@@ -148,6 +148,7 @@ func runContainer(config *configs.Config, console string, args ...string) (buffe - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(process) -diff --git a/libcontainer/process.go b/libcontainer/process.go -index f1ad081..150510d 100644 ---- a/libcontainer/process.go -+++ b/libcontainer/process.go -@@ -68,6 +68,9 @@ type Process struct { - // ConsoleSocket provides the masterfd console. - ConsoleSocket *os.File - -+ // Init specifies whether the process is the first process in the container. -+ Init bool -+ - ops processOperations - } - -diff --git a/utils_linux.go b/utils_linux.go -index c6a8c02..df98cf9 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -72,7 +72,7 @@ func getDefaultImagePath(context *cli.Context) string { - - // newProcess returns a new libcontainer Process with the arguments from the - // spec and stdio from the current process. --func newProcess(p specs.Process) (*libcontainer.Process, error) { -+func newProcess(p specs.Process, init bool) (*libcontainer.Process, error) { - lp := &libcontainer.Process{ - Args: p.Args, - Env: p.Env, -@@ -82,6 +82,7 @@ func newProcess(p specs.Process) (*libcontainer.Process, error) { - Label: p.SelinuxLabel, - NoNewPrivileges: &p.NoNewPrivileges, - AppArmorProfile: p.ApparmorProfile, -+ Init: init, - } - if p.Capabilities != nil { - lp.Capabilities = &configs.Capabilities{} -@@ -212,6 +213,7 @@ func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcont - } - - type runner struct { -+ init bool - enableSubreaper bool - shouldDestroy bool - detach bool -@@ -229,7 +231,7 @@ func (r *runner) run(config *specs.Process) (int, error) { - r.destroy() - return -1, err - } -- process, err := newProcess(*config) -+ process, err := newProcess(*config, r.init) - if err != nil { - r.destroy() - return -1, err -@@ -373,6 +375,7 @@ func startContainer(context *cli.Context, spec *specs.Spec, create bool) (int, e - pidFile: context.String("pid-file"), - preserveFDs: context.Int("preserve-fds"), - create: create, -+ init: true, - } - return r.run(&spec.Process) - } --- -2.7.4.3 - diff --git a/patch/0079-runc-modify-spec-file-for-upgrade.patch b/patch/0079-runc-modify-spec-file-for-upgrade.patch deleted file mode 100644 index 30c0d4f8bd16083da06f968aac2a5df1b8680f3a..0000000000000000000000000000000000000000 --- a/patch/0079-runc-modify-spec-file-for-upgrade.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 912f3b9001459f118fd85f04d7614cbaaa1c351b Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Tue, 25 Dec 2018 19:13:32 +0800 -Subject: [PATCH 79/94] runc: modify spec file for upgrade - -reason:modify spec file for upgrade - -Change-Id: Ifad62b1e80bf67bb0a043bdd98e5ac03233727f5 -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index f21ac08..faccbf6 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 16%{?dist} -+Release: 17%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0080-runc-support-specify-umask.patch b/patch/0080-runc-support-specify-umask.patch deleted file mode 100644 index 4f351a6fc90552a77402beea24e961e88ac8e429..0000000000000000000000000000000000000000 --- a/patch/0080-runc-support-specify-umask.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 18f5c5e20e342af002b0edb2295f64ea12632cc4 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Fri, 21 Dec 2018 15:02:16 +0800 -Subject: [PATCH 80/94] runc: support specify umask - -reason:support specify umask. -Umask can be 0022 or 0027(default) by specify umask when -start container by command `docker create/run` or start -daemon by command `dockerd`. For example: -$ dockerd --annotation native.umask=normal -$ dockerd --annotation native.umask=secure -$ docker run --exec-opt native.umask=normal -$ docker run --exec-opt native.umask=secure -`normal` reparent umask is 0022, `secure` -reparent umask is 0027. - -Change-Id: I49166759ad42dca0ac1f9755f85592e93951c249 -Signed-off-by: lujingxiao -Signed-off-by: wangfengtu ---- - libcontainer/rootfs_linux.go | 7 ++++++- - libcontainer/setns_init_linux.go | 10 ++++++++-- - 2 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 38bdd1b..3dd5113 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -136,7 +136,12 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- syscall.Umask(0027) -+ umask := libcontainerUtils.SearchLabels(config.Labels, "native.umask") -+ if umask == "normal" { -+ syscall.Umask(0022) -+ } else { -+ syscall.Umask(0027) -+ } - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index e8e969a..b3fab21 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -11,6 +11,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/keys" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "github.com/opencontainers/selinux/go-selinux/label" - ) - -@@ -41,8 +42,13 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -- // set exec process umask to 0027 according to secure policy -- syscall.Umask(0027) -+ // set exec process umask to 0027 or 0022 according to container's config -+ umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") -+ if umask == "normal" { -+ syscall.Umask(0022) -+ } else { -+ syscall.Umask(0027) -+ } - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch b/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch deleted file mode 100644 index fb9e5307d4be6ead10cc00bdc89d5ac7d2f38162..0000000000000000000000000000000000000000 --- a/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 1948bc88664ef018f87bd16c004ea2de32be3ec3 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Mon, 21 Jan 2019 13:50:35 +0800 -Subject: [PATCH 81/94] runc: fix oom-killer-disable unhandled due to - the spec - -reason:fix oom-killer-disable unhandled due to the spec - -Change-Id: I646b0420f8c387906afb80536352259ec1482729 -Signed-off-by: caihaomin ---- - spec.go | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 83 insertions(+), 17 deletions(-) - -diff --git a/spec.go b/spec.go -index a15c84e..b33e44c 100644 ---- a/spec.go -+++ b/spec.go -@@ -7,7 +7,6 @@ import ( - "fmt" - "io/ioutil" - "os" -- "runtime" - - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/specconv" -@@ -117,24 +116,101 @@ generate a proper rootless spec file.`, - - func sPtr(s string) *string { return &s } - -+type compatSpec struct { -+ specs.Spec -+ Linux *linux `json:"linux,omitempty" platform:"linux"` -+} -+ -+type linux struct { -+ specs.Linux -+ Resources *linuxResources `json:"resources,omitempty"` -+} -+ -+type linuxResources struct { -+ specs.LinuxResources -+ Memory *linuxMemory `json:"memory,omitempty"` -+} -+ -+type linuxMemory struct { -+ // Memory limit (in bytes). -+ Limit *int64 `json:"limit,omitempty"` -+ // Memory reservation or soft_limit (in bytes). -+ Reservation *int64 `json:"reservation,omitempty"` -+ // Total memory limit (memory + swap). -+ Swap *int64 `json:"swap,omitempty"` -+ // Kernel memory limit (in bytes). -+ Kernel *int64 `json:"kernel,omitempty"` -+ // Kernel memory limit for tcp (in bytes) -+ KernelTCP *int64 `json:"kernelTCP,omitempty"` -+ // How aggressive the kernel will swap memory pages. -+ Swappiness *uint64 `json:"swappiness,omitempty"` -+ // DisableOOMKiller disables the OOM killer for out of memory conditions -+ DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"` -+} -+ - // loadSpec loads the specification from the provided path. - func loadSpec(cPath string) (spec *specs.Spec, err error) { -- cf, err := os.Open(cPath) -- if err != nil { -+ spec, err = loadOriginSpec(cPath) -+ if err != nil || spec.Linux.Resources.DisableOOMKiller == nil { -+ return loadCompactSpec(cPath) -+ } -+ -+ return spec, validateProcessSpec(&spec.Process) -+} -+ -+func loadOriginSpec(cPath string) (*specs.Spec, error) { -+ var spec specs.Spec -+ if _, err := os.Stat(cPath); err != nil { - if os.IsNotExist(err) { - return nil, fmt.Errorf("JSON specification file %s not found", cPath) - } - return nil, err - } -- defer cf.Close() - -- if err = json.NewDecoder(cf).Decode(&spec); err != nil { -+ cData, err := ioutil.ReadFile(cPath) -+ if err != nil { -+ return nil, err -+ } -+ if err := json.Unmarshal(cData, &spec); err != nil { -+ return nil, fmt.Errorf("config.json %q error :%v", cPath, err) -+ } -+ -+ return &spec, nil -+} -+ -+func loadCompactSpec(cPath string) (*specs.Spec, error) { -+ var compatSpec compatSpec -+ cData, err := ioutil.ReadFile(cPath) -+ if err != nil { -+ if os.IsNotExist(err) { -+ return nil, fmt.Errorf("JSON specification file %s not found", cPath) -+ } - return nil, err - } -- if err = validatePlatform(&spec.Platform); err != nil { -+ if err := json.Unmarshal(cData, &compatSpec); err != nil { -+ return nil, fmt.Errorf("config.json %q error :%v", cPath, err) -+ } -+ -+ var spec *specs.Spec -+ if spec, err = updateCompactSpec(&compatSpec); err != nil { - return nil, err - } -- return spec, validateProcessSpec(&spec.Process) -+ -+ return spec, nil -+ -+} -+ -+func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { -+ compatjson, _ := json.Marshal(compatSpec) -+ var spec specs.Spec -+ err := json.Unmarshal(compatjson, &spec) -+ if err != nil { -+ return nil, fmt.Errorf("update config failed %v", err) -+ } -+ -+ spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ -+ return &spec, nil - } - - func createLibContainerRlimit(rlimit specs.LinuxRlimit) (configs.Rlimit, error) { -@@ -148,13 +224,3 @@ func createLibContainerRlimit(rlimit specs.LinuxRlimit) (configs.Rlimit, error) - Soft: rlimit.Soft, - }, nil - } -- --func validatePlatform(platform *specs.Platform) error { -- if platform.OS != runtime.GOOS { -- return fmt.Errorf("target os %s mismatch with current os %s", platform.OS, runtime.GOOS) -- } -- if platform.Arch != runtime.GOARCH { -- return fmt.Errorf("target arch %s mismatch with current arch %s", platform.Arch, runtime.GOARCH) -- } -- return nil --} --- -2.7.4.3 - diff --git a/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch b/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch deleted file mode 100644 index 5e027561b130a09a537354c66dd4fdf695c102fc..0000000000000000000000000000000000000000 --- a/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch +++ /dev/null @@ -1,118 +0,0 @@ -From e8e1ec218358495648893370e19eec093681766d Mon Sep 17 00:00:00 2001 -From: leizhongkai -Date: Thu, 24 Jan 2019 20:18:14 +0800 -Subject: [PATCH 82/94] runc: make runc spec and docker-18.9 - compatible - -reason:make runc spec and docker-18.9 compatible - -Change-Id: I794c936579a4decc1d0cd92e3483c6378dba5bfd -Signed-off-by: leizhongkai ---- - spec.go | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 75 insertions(+), 1 deletion(-) - -diff --git a/spec.go b/spec.go -index b33e44c..0bbe967 100644 ---- a/spec.go -+++ b/spec.go -@@ -121,6 +121,30 @@ type compatSpec struct { - Linux *linux `json:"linux,omitempty" platform:"linux"` - } - -+// linuxBlockIODevice holds major:minor format supported in blkio cgroup -+type linuxBlockIODevice struct { -+ // Major is the device's major number. -+ Major int64 `json:"major"` -+ // Minor is the device's minor number. -+ Minor int64 `json:"minor"` -+} -+ -+// LinuxWeightDevice struct holds a `major:minor weight` pair for blkioWeightDevice -+type LinuxWeightDevice struct { -+ linuxBlockIODevice -+ // Weight is the bandwidth rate for the device, range is from 10 to 1000 -+ Weight *uint16 `json:"weight,omitempty"` -+ // LeafWeight is the bandwidth rate for the device while competing with the cgroup's child cgroups, range is from 10 to 1000, CFQ scheduler only -+ LeafWeight *uint16 `json:"leafWeight,omitempty"` -+} -+ -+// LinuxThrottleDevice struct holds a `major:minor rate_per_second` pair -+type LinuxThrottleDevice struct { -+ linuxBlockIODevice -+ // Rate is the IO rate limit per cgroup per device -+ Rate uint64 `json:"rate"` -+} -+ - type linux struct { - specs.Linux - Resources *linuxResources `json:"resources,omitempty"` -@@ -128,7 +152,26 @@ type linux struct { - - type linuxResources struct { - specs.LinuxResources -- Memory *linuxMemory `json:"memory,omitempty"` -+ Memory *linuxMemory `json:"memory,omitempty"` -+ BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` -+} -+ -+// LinuxBlockIO for Linux cgroup 'blkio' resource management -+type LinuxBlockIO struct { -+ // Specifies per cgroup weight -+ Weight *uint16 `json:"weight,omitempty"` -+ // Specifies tasks' weight in the given cgroup while competing with the cgroup's child cgroups, CFQ scheduler only -+ LeafWeight *uint16 `json:"leafWeight,omitempty"` -+ // Weight per cgroup per device, can override BlkioWeight -+ WeightDevice []LinuxWeightDevice `json:"weightDevice,omitempty"` -+ // IO read rate limit per cgroup per device, bytes per second -+ ThrottleReadBpsDevice []LinuxThrottleDevice `json:"throttleReadBpsDevice,omitempty"` -+ // IO write rate limit per cgroup per device, bytes per second -+ ThrottleWriteBpsDevice []LinuxThrottleDevice `json:"throttleWriteBpsDevice,omitempty"` -+ // IO read rate limit per cgroup per device, IO per second -+ ThrottleReadIOPSDevice []LinuxThrottleDevice `json:"throttleReadIOPSDevice,omitempty"` -+ // IO write rate limit per cgroup per device, IO per second -+ ThrottleWriteIOPSDevice []LinuxThrottleDevice `json:"throttleWriteIOPSDevice,omitempty"` - } - - type linuxMemory struct { -@@ -209,6 +252,37 @@ func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { - } - - spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ if compatSpec.Linux.Resources.BlockIO != nil { -+ spec.Linux.Resources.BlockIO.Weight = compatSpec.Linux.Resources.BlockIO.Weight -+ spec.Linux.Resources.BlockIO.LeafWeight = compatSpec.Linux.Resources.BlockIO.LeafWeight -+ if compatSpec.Linux.Resources.BlockIO.WeightDevice != nil { -+ for _, wd := range compatSpec.Linux.Resources.BlockIO.WeightDevice { -+ wdSpec := specs.LinuxWeightDevice{ -+ Weight: wd.Weight, -+ LeafWeight: wd.LeafWeight, -+ } -+ wdSpec.Major = wd.Major -+ wdSpec.Minor = wd.Minor -+ spec.Linux.Resources.BlockIO.WeightDevice = append(spec.Linux.Resources.BlockIO.WeightDevice, wdSpec) -+ } -+ } -+ procLinuxThrottleDevice := func(src []LinuxThrottleDevice, dest *[]specs.LinuxThrottleDevice) { -+ if src != nil { -+ for _, ltd := range src { -+ ltdSpec := specs.LinuxThrottleDevice{ -+ Rate: ltd.Rate, -+ } -+ ltdSpec.Major = ltd.Major -+ ltdSpec.Minor = ltd.Minor -+ *dest = append(*dest, ltdSpec) -+ } -+ } -+ } -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleReadBpsDevice, &spec.Linux.Resources.BlockIO.ThrottleReadBpsDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleWriteBpsDevice, &spec.Linux.Resources.BlockIO.ThrottleWriteBpsDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleReadIOPSDevice, &spec.Linux.Resources.BlockIO.ThrottleReadIOPSDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleWriteIOPSDevice, &spec.Linux.Resources.BlockIO.ThrottleWriteIOPSDevice) -+ } - - return &spec, nil - } --- -2.7.4.3 - diff --git a/patch/0083-log-fix-runc-log-decode-failed.patch b/patch/0083-log-fix-runc-log-decode-failed.patch deleted file mode 100644 index 3403407f3076533ac7cb1d9231a3c7da5a3b1a18..0000000000000000000000000000000000000000 --- a/patch/0083-log-fix-runc-log-decode-failed.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 52e08b0e3d4e44d555efde15a4ab698500d060db Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 15 Jan 2019 15:16:54 +0800 -Subject: [PATCH 83/94] log: fix runc log decode failed - -reason: plain logs can not parsed by containerd, using json formatted -error logs. - -Change-Id: I293454c038c3b4f36a8ac9df07fc3557c51179e1 -Signed-off-by: jingrui ---- - main.go | 30 +++++++++++++++++++++++++----- - 1 file changed, 25 insertions(+), 5 deletions(-) - -diff --git a/main.go b/main.go -index 5f0ec91..0476242 100644 ---- a/main.go -+++ b/main.go -@@ -1,15 +1,18 @@ - package main - - import ( -+ "encoding/json" - "fmt" -- "github.com/Sirupsen/logrus" -- "github.com/Sirupsen/logrus/hooks/syslog" -- "github.com/opencontainers/runtime-spec/specs-go" -- "github.com/urfave/cli" - "io" - "log/syslog" - "os" - "strings" -+ "time" -+ -+ "github.com/Sirupsen/logrus" -+ "github.com/Sirupsen/logrus/hooks/syslog" -+ "github.com/opencontainers/runtime-spec/specs-go" -+ "github.com/urfave/cli" - ) - - // version will be populated by the Makefile, read from -@@ -123,7 +126,7 @@ func main() { - logrus.SetOutput(f) - hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") - if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ logToFile(f, "error", fmt.Sprintf("new syslog hook get %s", serr)) - } else { - logrus.AddHook(hook) - } -@@ -167,3 +170,20 @@ func (f *FatalWriter) Write(p []byte) (n int, err error) { - logrus.Error(string(p)) - return f.cliErrWriter.Write(p) - } -+ -+func logToFile(f io.Writer, level string, msg string) { -+ var ( -+ log struct { -+ Level string -+ Msg string -+ Time time.Time -+ } -+ ) -+ log.Level = level -+ log.Msg = msg -+ log.Time = time.Now() -+ s, err := json.Marshal(log) -+ if err != nil { -+ fmt.Fprint(f, string(s)) -+ } -+} --- -2.7.4.3 - diff --git a/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch b/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch deleted file mode 100644 index a5229178dbebfd2e6bd501fc02bde491bb38965c..0000000000000000000000000000000000000000 --- a/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 19106da5ad20c3b46888a75b08c00d0b0b12e13b Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Wed, 23 Jan 2019 22:40:51 +0800 -Subject: [PATCH 84/94] oci: fix runc panic and support oom score - -reason: see below. - -1. docker plugin using simple spec, should add more check to avoid runc - panic. -2. add oom-score support. - -Change-Id: I0999c8f61209e8127390508577034446d9ae1b4f -Signed-off-by: jingrui ---- - script/runc-euleros.spec | 2 +- - spec.go | 39 ++++++++++++++++++++++++++++++++++++--- - 2 files changed, 37 insertions(+), 4 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index faccbf6..bcbcff1 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 17%{?dist} -+Release: 18%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/spec.go b/spec.go -index 0bbe967..3b90791 100644 ---- a/spec.go -+++ b/spec.go -@@ -118,7 +118,8 @@ func sPtr(s string) *string { return &s } - - type compatSpec struct { - specs.Spec -- Linux *linux `json:"linux,omitempty" platform:"linux"` -+ Linux *linux `json:"linux,omitempty" platform:"linux"` -+ Process processRc6 `json:"process"` - } - - // linuxBlockIODevice holds major:minor format supported in blkio cgroup -@@ -150,6 +151,11 @@ type linux struct { - Resources *linuxResources `json:"resources,omitempty"` - } - -+type processRc6 struct { -+ specs.Process -+ OOMScoreAdj *int `json:"oomScoreAdj,omitempty" platform:"linux"` -+} -+ - type linuxResources struct { - specs.LinuxResources - Memory *linuxMemory `json:"memory,omitempty"` -@@ -191,10 +197,26 @@ type linuxMemory struct { - DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"` - } - -+func versionRc6Plus(ver string) bool { -+ if len(ver) < 5 { // version should be a.b.c[-rcn][x] -+ return false -+ } -+ -+ // docker-18.09 1.0.1 -+ if ver[:5] >= "1.0.1" { -+ return true -+ } -+ -+ // TODO: add more version detect, support ab.cd.ef format. -+ -+ // < 1.0.0-rc6: include 1.0.0-rc5xxx -+ return false -+} -+ - // loadSpec loads the specification from the provided path. - func loadSpec(cPath string) (spec *specs.Spec, err error) { - spec, err = loadOriginSpec(cPath) -- if err != nil || spec.Linux.Resources.DisableOOMKiller == nil { -+ if err != nil || versionRc6Plus(spec.Version) { - return loadCompactSpec(cPath) - } - -@@ -251,7 +273,18 @@ func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { - return nil, fmt.Errorf("update config failed %v", err) - } - -- spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ if compatSpec != nil && compatSpec.Linux != nil && -+ compatSpec.Linux.Resources != nil && -+ compatSpec.Linux.Resources.Memory != nil && -+ compatSpec.Linux.Resources.Memory.DisableOOMKiller != nil { -+ spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ } -+ -+ if compatSpec != nil && compatSpec.Process.OOMScoreAdj != nil && -+ spec.Linux != nil && spec.Linux.Resources != nil { -+ spec.Linux.Resources.OOMScoreAdj = compatSpec.Process.OOMScoreAdj -+ } -+ - if compatSpec.Linux.Resources.BlockIO != nil { - spec.Linux.Resources.BlockIO.Weight = compatSpec.Linux.Resources.BlockIO.Weight - spec.Linux.Resources.BlockIO.LeafWeight = compatSpec.Linux.Resources.BlockIO.LeafWeight --- -2.7.4.3 - diff --git a/patch/0086-runc-support-set-seccomp-priority.patch b/patch/0086-runc-support-set-seccomp-priority.patch deleted file mode 100644 index 0d3929d5f59a74d33d47aeb54febb5bd31bd9eb4..0000000000000000000000000000000000000000 --- a/patch/0086-runc-support-set-seccomp-priority.patch +++ /dev/null @@ -1,68 +0,0 @@ -From f0cff0f9ff831b2380d6907ac1b640eb998c4d88 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 30 Jan 2019 15:33:44 +0800 -Subject: [PATCH 86/94] runc: support set seccomp priority - -reason:support set seccomp priority - -Change-Id: I73ea0ca4ce5dc7af975c62b56edbae03f9721e76 -Signed-off-by: gus.gao -Signed-off-by: zhangsong34 ---- - libcontainer/configs/config.go | 7 ++++--- - libcontainer/seccomp/seccomp_linux.go | 2 +- - libcontainer/specconv/spec_linux.go | 7 ++++--- - 3 files changed, 9 insertions(+), 7 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 78a7d1d..9074c86 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -76,9 +76,10 @@ type Arg struct { - - // Syscall is a rule to match a syscall in Seccomp - type Syscall struct { -- Name string `json:"name"` -- Action Action `json:"action"` -- Args []*Arg `json:"args"` -+ Name string `json:"name"` -+ Action Action `json:"action"` -+ Priority uint8 `json:"priority,omitempty"` -+ Args []*Arg `json:"args"` - } - - // TODO Windows. Many of these fields should be factored out into those parts -diff --git a/libcontainer/seccomp/seccomp_linux.go b/libcontainer/seccomp/seccomp_linux.go -index 518d2c3..db4bb4e 100644 ---- a/libcontainer/seccomp/seccomp_linux.go -+++ b/libcontainer/seccomp/seccomp_linux.go -@@ -198,7 +198,7 @@ func matchCall(filter *libseccomp.ScmpFilter, call *configs.Syscall) error { - } - } - -- return nil -+ return filter.SetSyscallPriority(callNum, call.Priority) - } - - func parseStatusFile(path string) (map[string]string, error) { -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a8cf114..8c4567c 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -757,9 +757,10 @@ func setupSeccomp(config *specs.LinuxSeccomp) (*configs.Seccomp, error) { - - for _, name := range call.Names { - newCall := configs.Syscall{ -- Name: name, -- Action: newAction, -- Args: []*configs.Arg{}, -+ Name: name, -+ Action: newAction, -+ Priority: call.Priority, -+ Args: []*configs.Arg{}, - } - // Loop through all the arguments of the syscall and convert them - for _, arg := range call.Args { --- -2.7.4.3 - diff --git a/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch b/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch deleted file mode 100644 index 8948d51b76bf9e43fb6ffa11efa04d86b1cf4dd9..0000000000000000000000000000000000000000 --- a/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 23829a0c51a77222c842b0a1d277e4738ad22942 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Sun, 3 Feb 2019 09:26:44 +0800 -Subject: [PATCH 87/94] runc: fix spec LinuxSyscall struct - -reason:fix spec LinuxSyscall struct - -Change-Id: Iab6d095b43c062ad72aad8f7f1f9206f46a4f88d -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/specs-go/config.go | 9 +++++---- - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index bcbcff1..b3db2ab 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 18%{?dist} -+Release: 19%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 603ecf4..8439744 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -554,8 +554,9 @@ type LinuxSeccompArg struct { - - // LinuxSyscall is used to match a syscall in Seccomp - type LinuxSyscall struct { -- Names []string `json:"names"` -- Action LinuxSeccompAction `json:"action"` -- Args []LinuxSeccompArg `json:"args"` -- Comment string `json:"comment"` -+ Names []string `json:"names"` -+ Action LinuxSeccompAction `json:"action"` -+ Priority uint8 `json:"priority,omitempty"` -+ Args []LinuxSeccompArg `json:"args"` -+ Comment string `json:"comment"` - } --- -2.7.4.3 - diff --git a/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch b/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch deleted file mode 100644 index 92e00607b418e07dd3ce15efe21e0d4e8e442316..0000000000000000000000000000000000000000 --- a/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 55dc2797a066480f836baf541a9ab858d9999421 Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Mon, 28 Jan 2019 22:12:18 +0800 -Subject: [PATCH 88/94] nsenter: clone /proc/self/exe to avoid - exposing host binary to container - -reason: There are quite a few circumstances where /proc/self/exe pointing to a -pretty important container binary is a _bad_ thing, so to avoid this we -have to make a copy (preferably doing self-clean-up and not being -writeable). - -As a hotfix we require memfd_create(2), but we can always extend this to -use a scratch MNT_DETACH overlayfs or tmpfs. The main downside to this -approach is no page-cache sharing for the runc binary (which overlayfs -would give us) but this is far less complicated. - -This is only done during nsenter so that it happens transparently to the -Go code, and any libcontainer users benefit from it. This also makes -ExtraFiles and --preserve-fds handling trivial (because we don't need to -worry about it). - -Fixes: CVE-2019-5736 -Signed-off-by: Aleksa Sarai - -Change-Id: Id54b4827173affa0f2063eef4159c87343f4d672 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 236 +++++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 11 ++ - 2 files changed, 247 insertions(+) - create mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -new file mode 100644 -index 0000000..ec383c1 ---- /dev/null -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -0,0 +1,236 @@ -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#define MEMFD_COMMENT "runc_cloned:/proc/self/exe" -+#define MEMFD_LNKNAME "/memfd:" MEMFD_COMMENT " (deleted)" -+ -+/* Use our own wrapper for memfd_create. */ -+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) -+# define SYS_memfd_create __NR_memfd_create -+#endif -+#ifndef SYS_memfd_create -+# error "memfd_create(2) syscall not supported by this glibc version" -+#endif -+int memfd_create(const char *name, unsigned int flags) -+{ -+ return syscall(SYS_memfd_create, name, flags); -+} -+ -+/* This comes directly from . */ -+#ifndef F_LINUX_SPECIFIC_BASE -+# define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_ADD_SEALS -+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+#ifndef F_SEAL_SEAL -+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -+# define F_SEAL_GROW 0x0004 /* prevent file from growing */ -+# define F_SEAL_WRITE 0x0008 /* prevent writes */ -+#endif -+ -+/* -+ * Verify whether we are currently in a self-cloned program. It's not really -+ * possible to trivially identify a memfd compared to a regular tmpfs file, so -+ * the best we can do is to check whether the readlink(2) looks okay and that -+ * it is on a tmpfs. -+ */ -+static int is_self_cloned(void) -+{ -+ struct statfs statfsbuf = {0}; -+ char linkname[PATH_MAX + 1] = {0}; -+ -+ if (statfs("/proc/self/exe", &statfsbuf) < 0) -+ return -1; -+ if (readlink("/proc/self/exe", linkname, PATH_MAX) < 0) -+ return -1; -+ -+ return statfsbuf.f_type == TMPFS_MAGIC && -+ !strncmp(linkname, MEMFD_LNKNAME, PATH_MAX); -+} -+ -+/* -+ * Basic wrapper around mmap(2) that gives you the file length so you can -+ * safely treat it as an ordinary buffer. Only gives you read access. -+ */ -+static char *read_file(char *path, size_t *length) -+{ -+ int fd; -+ char buf[4096], *copy = NULL; -+ -+ if (!length) -+ goto err; -+ *length = 0; -+ -+ fd = open(path, O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ goto err_free; -+ -+ for (;;) { -+ int n; -+ char *old = copy; -+ -+ n = read(fd, buf, sizeof(buf)); -+ if (n < 0) -+ goto err_fd; -+ if (!n) -+ break; -+ -+ do { -+ copy = realloc(old, (*length + n) * sizeof(*old)); -+ } while(!copy); -+ -+ memcpy(copy + *length, buf, n); -+ *length += n; -+ } -+ close(fd); -+ return copy; -+ -+err_fd: -+ close(fd); -+err_free: -+ free(copy); -+err: -+ return NULL; -+} -+ -+/* -+ * A poor-man's version of "xargs -0". Basically parses a given block of -+ * NUL-delimited data, within the given length and adds a pointer to each entry -+ * to the array of pointers. -+ */ -+static int parse_xargs(char *data, int data_length, char ***output) -+{ -+ int num = 0; -+ char *cur = data; -+ -+ if (!data || *output) -+ return -1; -+ -+ do { -+ *output = malloc(sizeof(**output)); -+ } while (!*output); -+ -+ while (cur < data + data_length) { -+ char **old = *output; -+ -+ num++; -+ do { -+ *output = realloc(old, (num + 1) * sizeof(*old)); -+ } while (!*output); -+ -+ (*output)[num - 1] = cur; -+ cur += strlen(cur) + 1; -+ } -+ (*output)[num] = NULL; -+ return num; -+} -+ -+/* -+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -+ * This is necessary because we are running in a context where we don't have a -+ * main() that we can just get the arguments from. -+ */ -+static int fetchve(char ***argv, char ***envp) -+{ -+ char *cmdline, *environ; -+ size_t cmdline_size, environ_size; -+ -+ cmdline = read_file("/proc/self/cmdline", &cmdline_size); -+ if (!cmdline) -+ goto err; -+ environ = read_file("/proc/self/environ", &environ_size); -+ if (!environ) -+ goto err_free; -+ -+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -+ goto err_free_both; -+ if (parse_xargs(environ, environ_size, envp) <= 0) -+ goto err_free_both; -+ -+ return 0; -+ -+err_free_both: -+ free(environ); -+err_free: -+ free(cmdline); -+err: -+ return -1; -+} -+ -+static int clone_binary(void) -+{ -+ int binfd, memfd, err; -+ ssize_t sent = 0; -+ struct stat statbuf = {0}; -+ -+ binfd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -+ if (binfd < 0) -+ goto err; -+ if (fstat(binfd, &statbuf) < 0) -+ goto err_binfd; -+ -+ memfd = memfd_create(MEMFD_COMMENT, MFD_CLOEXEC|MFD_ALLOW_SEALING); -+ if (memfd < 0) -+ goto err_binfd; -+ -+ while (sent < statbuf.st_size) { -+ ssize_t n = sendfile(memfd, binfd, NULL, statbuf.st_size - sent); -+ if (n < 0) -+ goto err_memfd; -+ sent += n; -+ } -+ -+ err = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK|F_SEAL_GROW|F_SEAL_WRITE|F_SEAL_SEAL); -+ if (err < 0) -+ goto err_memfd; -+ -+ close(binfd); -+ return memfd; -+ -+err_memfd: -+ close(memfd); -+err_binfd: -+ close(binfd); -+err: -+ return -1; -+} -+ -+int ensure_cloned_binary(void) -+{ -+ int execfd; -+ char **argv = NULL, **envp = NULL; -+ -+ /* Check that we're not self-cloned, and if we are then bail. */ -+ int cloned = is_self_cloned(); -+ if (cloned != 0) -+ return cloned; -+ -+ if (fetchve(&argv, &envp) < 0) -+ return -1; -+ -+ execfd = clone_binary(); -+ if (execfd < 0) -+ return -1; -+ -+ fexecve(execfd, argv, envp); -+ return -1; -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 0ad6883..75211c8 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,6 +432,9 @@ void join_namespaces(char *nslist) - free(namespaces); - } - -+/* Defined in cloned_binary.c. */ -+int ensure_cloned_binary(void); -+ - void nsexec(void) - { - int pipenum; -@@ -447,6 +450,14 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* -+ * We need to re-exec if we are not in a cloned binary. This is necessary -+ * to ensure that containers won't be able to access the host binary -+ * through /proc/self/exe. See CVE-2019-5736. -+ */ -+ if (ensure_cloned_binary() < 0) -+ bail("could not ensure we are a cloned binary"); -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - --- -2.7.4.3 - diff --git a/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch b/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch deleted file mode 100644 index f374607a0c768b15cd0edcd3198bb1a14218ab25..0000000000000000000000000000000000000000 --- a/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch +++ /dev/null @@ -1,294 +0,0 @@ -From eb6c73cc11d6f8da5f19ef6d0794c41374dbfae4 Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 12 Feb 2019 19:07:09 +0800 -Subject: [PATCH 89/94] Revert "nsenter: clone /proc/self/exe to - avoid exposing host binary to container" - -reason: This reverts commit 275c8d34e6a6fa915ea4a4e47c45ce4c246a2410. -The origin patch is from discussion email, it is the early version, -which is different with the upstream: -https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b -So revert this patch, and recommit with newer patch - -Change-Id: Idb9250ce6dc86bd1a7640015b746c7afe8b03f49 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 236 ----------------------------------- - libcontainer/nsenter/nsexec.c | 11 -- - 2 files changed, 247 deletions(-) - delete mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -deleted file mode 100644 -index ec383c1..0000000 ---- a/libcontainer/nsenter/cloned_binary.c -+++ /dev/null -@@ -1,236 +0,0 @@ --#define _GNU_SOURCE --#include --#include --#include --#include --#include --#include --#include -- --#include --#include --#include --#include --#include --#include -- --#include --#include -- --#define MEMFD_COMMENT "runc_cloned:/proc/self/exe" --#define MEMFD_LNKNAME "/memfd:" MEMFD_COMMENT " (deleted)" -- --/* Use our own wrapper for memfd_create. */ --#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) --# define SYS_memfd_create __NR_memfd_create --#endif --#ifndef SYS_memfd_create --# error "memfd_create(2) syscall not supported by this glibc version" --#endif --int memfd_create(const char *name, unsigned int flags) --{ -- return syscall(SYS_memfd_create, name, flags); --} -- --/* This comes directly from . */ --#ifndef F_LINUX_SPECIFIC_BASE --# define F_LINUX_SPECIFIC_BASE 1024 --#endif --#ifndef F_ADD_SEALS --# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) --# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) --#endif --#ifndef F_SEAL_SEAL --# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ --# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ --# define F_SEAL_GROW 0x0004 /* prevent file from growing */ --# define F_SEAL_WRITE 0x0008 /* prevent writes */ --#endif -- --/* -- * Verify whether we are currently in a self-cloned program. It's not really -- * possible to trivially identify a memfd compared to a regular tmpfs file, so -- * the best we can do is to check whether the readlink(2) looks okay and that -- * it is on a tmpfs. -- */ --static int is_self_cloned(void) --{ -- struct statfs statfsbuf = {0}; -- char linkname[PATH_MAX + 1] = {0}; -- -- if (statfs("/proc/self/exe", &statfsbuf) < 0) -- return -1; -- if (readlink("/proc/self/exe", linkname, PATH_MAX) < 0) -- return -1; -- -- return statfsbuf.f_type == TMPFS_MAGIC && -- !strncmp(linkname, MEMFD_LNKNAME, PATH_MAX); --} -- --/* -- * Basic wrapper around mmap(2) that gives you the file length so you can -- * safely treat it as an ordinary buffer. Only gives you read access. -- */ --static char *read_file(char *path, size_t *length) --{ -- int fd; -- char buf[4096], *copy = NULL; -- -- if (!length) -- goto err; -- *length = 0; -- -- fd = open(path, O_RDONLY|O_CLOEXEC); -- if (fd < 0) -- goto err_free; -- -- for (;;) { -- int n; -- char *old = copy; -- -- n = read(fd, buf, sizeof(buf)); -- if (n < 0) -- goto err_fd; -- if (!n) -- break; -- -- do { -- copy = realloc(old, (*length + n) * sizeof(*old)); -- } while(!copy); -- -- memcpy(copy + *length, buf, n); -- *length += n; -- } -- close(fd); -- return copy; -- --err_fd: -- close(fd); --err_free: -- free(copy); --err: -- return NULL; --} -- --/* -- * A poor-man's version of "xargs -0". Basically parses a given block of -- * NUL-delimited data, within the given length and adds a pointer to each entry -- * to the array of pointers. -- */ --static int parse_xargs(char *data, int data_length, char ***output) --{ -- int num = 0; -- char *cur = data; -- -- if (!data || *output) -- return -1; -- -- do { -- *output = malloc(sizeof(**output)); -- } while (!*output); -- -- while (cur < data + data_length) { -- char **old = *output; -- -- num++; -- do { -- *output = realloc(old, (num + 1) * sizeof(*old)); -- } while (!*output); -- -- (*output)[num - 1] = cur; -- cur += strlen(cur) + 1; -- } -- (*output)[num] = NULL; -- return num; --} -- --/* -- * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -- * This is necessary because we are running in a context where we don't have a -- * main() that we can just get the arguments from. -- */ --static int fetchve(char ***argv, char ***envp) --{ -- char *cmdline, *environ; -- size_t cmdline_size, environ_size; -- -- cmdline = read_file("/proc/self/cmdline", &cmdline_size); -- if (!cmdline) -- goto err; -- environ = read_file("/proc/self/environ", &environ_size); -- if (!environ) -- goto err_free; -- -- if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -- goto err_free_both; -- if (parse_xargs(environ, environ_size, envp) <= 0) -- goto err_free_both; -- -- return 0; -- --err_free_both: -- free(environ); --err_free: -- free(cmdline); --err: -- return -1; --} -- --static int clone_binary(void) --{ -- int binfd, memfd, err; -- ssize_t sent = 0; -- struct stat statbuf = {0}; -- -- binfd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -- if (binfd < 0) -- goto err; -- if (fstat(binfd, &statbuf) < 0) -- goto err_binfd; -- -- memfd = memfd_create(MEMFD_COMMENT, MFD_CLOEXEC|MFD_ALLOW_SEALING); -- if (memfd < 0) -- goto err_binfd; -- -- while (sent < statbuf.st_size) { -- ssize_t n = sendfile(memfd, binfd, NULL, statbuf.st_size - sent); -- if (n < 0) -- goto err_memfd; -- sent += n; -- } -- -- err = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK|F_SEAL_GROW|F_SEAL_WRITE|F_SEAL_SEAL); -- if (err < 0) -- goto err_memfd; -- -- close(binfd); -- return memfd; -- --err_memfd: -- close(memfd); --err_binfd: -- close(binfd); --err: -- return -1; --} -- --int ensure_cloned_binary(void) --{ -- int execfd; -- char **argv = NULL, **envp = NULL; -- -- /* Check that we're not self-cloned, and if we are then bail. */ -- int cloned = is_self_cloned(); -- if (cloned != 0) -- return cloned; -- -- if (fetchve(&argv, &envp) < 0) -- return -1; -- -- execfd = clone_binary(); -- if (execfd < 0) -- return -1; -- -- fexecve(execfd, argv, envp); -- return -1; --} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 75211c8..0ad6883 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,9 +432,6 @@ void join_namespaces(char *nslist) - free(namespaces); - } - --/* Defined in cloned_binary.c. */ --int ensure_cloned_binary(void); -- - void nsexec(void) - { - int pipenum; -@@ -450,14 +447,6 @@ void nsexec(void) - if (pipenum == -1) - return; - -- /* -- * We need to re-exec if we are not in a cloned binary. This is necessary -- * to ensure that containers won't be able to access the host binary -- * through /proc/self/exe. See CVE-2019-5736. -- */ -- if (ensure_cloned_binary() < 0) -- bail("could not ensure we are a cloned binary"); -- - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - --- -2.7.4.3 - diff --git a/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch b/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch deleted file mode 100644 index c822adbd6c698cf1db66a7bb5c66b407402ee43e..0000000000000000000000000000000000000000 --- a/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +++ /dev/null @@ -1,357 +0,0 @@ -From 2f3550fa67d6e2eb21276775e05ba145f8b5768b Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 12 Feb 2019 19:15:11 +0800 -Subject: [PATCH 90/94] nsenter: clone /proc/self/exe to avoid - exposing host binary to container - -reason: There are quite a few circumstances where /proc/self/exe pointing to a -pretty important container binary is a _bad_ thing, so to avoid this we -have to make a copy (preferably doing self-clean-up and not being -writeable). - -We require memfd_create(2) -- though there is an O_TMPFILE fallback -- -but we can always extend this to use a scratch MNT_DETACH overlayfs or -tmpfs. The main downside to this approach is no page-cache sharing for -the runc binary (which overlayfs would give us) but this is far less -complicated. - -This is only done during nsenter so that it happens transparently to the -Go code, and any libcontainer users benefit from it. This also makes -ExtraFiles and --preserve-fds handling trivial (because we don't need to -worry about it). - -Fixes: CVE-2019-5736 -Co-developed-by: Christian Brauner -Signed-off-by: Aleksa Sarai - -Recommit this patch with the upstream one: -https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b - -Change-Id: I4d4d87d480c12a7844b9ef6bd955457cb152ba51 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 11 ++ - script/runc-euleros.spec | 2 +- - 3 files changed, 280 insertions(+), 1 deletion(-) - create mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -new file mode 100644 -index 0000000..c8a42c2 ---- /dev/null -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -0,0 +1,268 @@ -+/* -+ * Copyright (C) 2019 Aleksa Sarai -+ * Copyright (C) 2019 SUSE LLC -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* Use our own wrapper for memfd_create. */ -+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) -+# define SYS_memfd_create __NR_memfd_create -+#endif -+#ifdef SYS_memfd_create -+# define HAVE_MEMFD_CREATE -+/* memfd_create(2) flags -- copied from . */ -+# ifndef MFD_CLOEXEC -+# define MFD_CLOEXEC 0x0001U -+# define MFD_ALLOW_SEALING 0x0002U -+# endif -+int memfd_create(const char *name, unsigned int flags) -+{ -+ return syscall(SYS_memfd_create, name, flags); -+} -+#endif -+ -+/* This comes directly from . */ -+#ifndef F_LINUX_SPECIFIC_BASE -+# define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_ADD_SEALS -+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+#ifndef F_SEAL_SEAL -+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -+# define F_SEAL_GROW 0x0004 /* prevent file from growing */ -+# define F_SEAL_WRITE 0x0008 /* prevent writes */ -+#endif -+ -+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */ -+#ifdef HAVE_MEMFD_CREATE -+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe" -+# define RUNC_MEMFD_SEALS \ -+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) -+#endif -+ -+static void *must_realloc(void *ptr, size_t size) -+{ -+ void *old = ptr; -+ do { -+ ptr = realloc(old, size); -+ } while(!ptr); -+ return ptr; -+} -+ -+/* -+ * Verify whether we are currently in a self-cloned program (namely, is -+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather -+ * for shmem files), and we want to be sure it's actually sealed. -+ */ -+static int is_self_cloned(void) -+{ -+ int fd, ret, is_cloned = 0; -+ -+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ return -ENOTRECOVERABLE; -+ -+#ifdef HAVE_MEMFD_CREATE -+ ret = fcntl(fd, F_GET_SEALS); -+ is_cloned = (ret == RUNC_MEMFD_SEALS); -+#else -+ struct stat statbuf = {0}; -+ ret = fstat(fd, &statbuf); -+ if (ret >= 0) -+ is_cloned = (statbuf.st_nlink == 0); -+#endif -+ close(fd); -+ return is_cloned; -+} -+ -+/* -+ * Basic wrapper around mmap(2) that gives you the file length so you can -+ * safely treat it as an ordinary buffer. Only gives you read access. -+ */ -+static char *read_file(char *path, size_t *length) -+{ -+ int fd; -+ char buf[4096], *copy = NULL; -+ -+ if (!length) -+ return NULL; -+ -+ fd = open(path, O_RDONLY | O_CLOEXEC); -+ if (fd < 0) -+ return NULL; -+ -+ *length = 0; -+ for (;;) { -+ int n; -+ -+ n = read(fd, buf, sizeof(buf)); -+ if (n < 0) -+ goto error; -+ if (!n) -+ break; -+ -+ copy = must_realloc(copy, (*length + n) * sizeof(*copy)); -+ memcpy(copy + *length, buf, n); -+ *length += n; -+ } -+ close(fd); -+ return copy; -+ -+error: -+ close(fd); -+ free(copy); -+ return NULL; -+} -+ -+/* -+ * A poor-man's version of "xargs -0". Basically parses a given block of -+ * NUL-delimited data, within the given length and adds a pointer to each entry -+ * to the array of pointers. -+ */ -+static int parse_xargs(char *data, int data_length, char ***output) -+{ -+ int num = 0; -+ char *cur = data; -+ -+ if (!data || *output != NULL) -+ return -1; -+ -+ while (cur < data + data_length) { -+ num++; -+ *output = must_realloc(*output, (num + 1) * sizeof(**output)); -+ (*output)[num - 1] = cur; -+ cur += strlen(cur) + 1; -+ } -+ (*output)[num] = NULL; -+ return num; -+} -+ -+/* -+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -+ * This is necessary because we are running in a context where we don't have a -+ * main() that we can just get the arguments from. -+ */ -+static int fetchve(char ***argv, char ***envp) -+{ -+ char *cmdline = NULL, *environ = NULL; -+ size_t cmdline_size, environ_size; -+ -+ cmdline = read_file("/proc/self/cmdline", &cmdline_size); -+ if (!cmdline) -+ goto error; -+ environ = read_file("/proc/self/environ", &environ_size); -+ if (!environ) -+ goto error; -+ -+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -+ goto error; -+ if (parse_xargs(environ, environ_size, envp) <= 0) -+ goto error; -+ -+ return 0; -+ -+error: -+ free(environ); -+ free(cmdline); -+ return -EINVAL; -+} -+ -+static int clone_binary(void) -+{ -+ int binfd, memfd; -+ ssize_t sent = 0; -+ -+#ifdef HAVE_MEMFD_CREATE -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+#else -+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); -+#endif -+ if (memfd < 0) -+ return -ENOTRECOVERABLE; -+ -+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC); -+ if (binfd < 0) -+ goto error; -+ -+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX); -+ close(binfd); -+ if (sent < 0) -+ goto error; -+ -+#ifdef HAVE_MEMFD_CREATE -+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -+ if (err < 0) -+ goto error; -+#else -+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ -+ int newfd; -+ char *fdpath = NULL; -+ -+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -+ goto error; -+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -+ free(fdpath); -+ if (newfd < 0) -+ goto error; -+ -+ close(memfd); -+ memfd = newfd; -+#endif -+ return memfd; -+ -+error: -+ close(memfd); -+ return -EIO; -+} -+ -+int ensure_cloned_binary(void) -+{ -+ int execfd; -+ char **argv = NULL, **envp = NULL; -+ -+ /* Check that we're not self-cloned, and if we are then bail. */ -+ int cloned = is_self_cloned(); -+ if (cloned > 0 || cloned == -ENOTRECOVERABLE) -+ return cloned; -+ -+ if (fetchve(&argv, &envp) < 0) -+ return -EINVAL; -+ -+ execfd = clone_binary(); -+ if (execfd < 0) -+ return -EIO; -+ -+ fexecve(execfd, argv, envp); -+ return -ENOEXEC; -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 0ad6883..64ed76f 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,6 +432,9 @@ void join_namespaces(char *nslist) - free(namespaces); - } - -+/* Defined in cloned_binary.c. */ -+extern int ensure_cloned_binary(void); -+ - void nsexec(void) - { - int pipenum; -@@ -447,6 +450,14 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* -+ * We need to re-exec if we are not in a cloned binary. This is necessary -+ * to ensure that containers won't be able to access the host binary -+ * through /proc/self/exe. See CVE-2019-5736. -+ */ -+ if (ensure_cloned_binary() < 0) -+ bail("could not ensure we are a cloned binary"); -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index b3db2ab..2448078 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 19%{?dist} -+Release: 20%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch b/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch deleted file mode 100644 index bd015b28cc7f0071108a7943d351bd43271a086c..0000000000000000000000000000000000000000 --- a/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch +++ /dev/null @@ -1,207 +0,0 @@ -From 621c01059536ec167da8c9d5571e8bf860b4dadb Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 13 Feb 2019 05:26:38 -0500 -Subject: [PATCH 91/94] runc: cve-2019-5736: workaround if - memfd_create and O_TMPFILE not work - -[Changelog]: create tmpfile using mkostemp when memfd_create and -O_TMPFILE not work -[Author]: git - -Change-Id: I785295b19759487ddaa5e0dcb5c11e4aa9ace838 -Signed-off-by: sdu.liu -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 117 +++++++++++++++++++++++++---------- - script/runc-euleros.spec | 2 +- - 2 files changed, 87 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index c8a42c2..e59d434 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -71,6 +71,14 @@ int memfd_create(const char *name, unsigned int flags) - (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) - #endif - -+enum clone_type -+{ -+ USING_MEMFD = 0, -+ USING_UNAMED_FILE, -+ USING_TMPFILE, -+}; -+ -+ - static void *must_realloc(void *ptr, size_t size) - { - void *old = ptr; -@@ -80,6 +88,23 @@ static void *must_realloc(void *ptr, size_t size) - return ptr; - } - -+static int get_clone_type() -+{ -+ int memfd = 0; -+#ifdef HAVE_MEMFD_CREATE -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+ if (memfd > 0 || memfd == 0) { -+ close(memfd); -+ return USING_MEMFD; -+ } -+#else -+#ifdef O_TMPFILE -+ return USING_UNAMED_FILE; -+#endif -+#endif -+ return USING_TMPFILE; -+} -+ - /* - * Verify whether we are currently in a self-cloned program (namely, is - * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather -@@ -87,21 +112,23 @@ static void *must_realloc(void *ptr, size_t size) - */ - static int is_self_cloned(void) - { -- int fd, ret, is_cloned = 0; -+ int fd, ret, type, is_cloned = 0; - - fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); - if (fd < 0) - return -ENOTRECOVERABLE; -+ type = get_clone_type(); -+ -+ if (type == USING_MEMFD) { -+ ret = fcntl(fd, F_GET_SEALS); -+ is_cloned = (ret == RUNC_MEMFD_SEALS); -+ } else { -+ struct stat statbuf = {0}; -+ ret = fstat(fd, &statbuf); -+ if (ret >= 0) -+ is_cloned = (statbuf.st_nlink == 0); -+ } - --#ifdef HAVE_MEMFD_CREATE -- ret = fcntl(fd, F_GET_SEALS); -- is_cloned = (ret == RUNC_MEMFD_SEALS); --#else -- struct stat statbuf = {0}; -- ret = fstat(fd, &statbuf); -- if (ret >= 0) -- is_cloned = (statbuf.st_nlink == 0); --#endif - close(fd); - return is_cloned; - } -@@ -198,16 +225,37 @@ error: - return -EINVAL; - } - -+ - static int clone_binary(void) - { - int binfd, memfd; - ssize_t sent = 0; -+ char template[] = "/tmp/runc.XXXXXX"; -+ int type = 0; -+ char *tmpfile = NULL; -+ -+ type = get_clone_type(); -+ switch (type) { -+ case USING_MEMFD: -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+ break; -+ case USING_UNAMED_FILE: -+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); -+ break; -+ case USING_TMPFILE: -+ memfd = mkostemp(template,O_EXCL | O_RDWR | O_CLOEXEC); -+ if (memfd < 0) { -+ goto error; -+ } -+ tmpfile = template; -+ if (fchmod(memfd, 0711)) { -+ goto error; -+ } -+ break; -+ default: -+ return -ENOTRECOVERABLE; -+ } - --#ifdef HAVE_MEMFD_CREATE -- memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); --#else -- memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); --#endif - if (memfd < 0) - return -ENOTRECOVERABLE; - -@@ -220,29 +268,36 @@ static int clone_binary(void) - if (sent < 0) - goto error; - --#ifdef HAVE_MEMFD_CREATE -- int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -- if (err < 0) -- goto error; --#else -+ if (type == USING_MEMFD) { -+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -+ if (err < 0) -+ goto error; -+ } else { - /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ -- int newfd; -- char *fdpath = NULL; -+ int newfd; -+ char *fdpath = NULL; - -- if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -- goto error; -- newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -- free(fdpath); -- if (newfd < 0) -- goto error; -+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -+ goto error; -+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -+ free(fdpath); -+ if (newfd < 0) -+ goto error; -+ close(memfd); - -- close(memfd); -- memfd = newfd; --#endif -+ memfd = newfd; -+ } -+ -+ if(tmpfile) { -+ remove(tmpfile); -+ } - return memfd; - - error: - close(memfd); -+ if(tmpfile) { -+ remove(tmpfile); -+ } - return -EIO; - } - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 2448078..b577d1a 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 20%{?dist} -+Release: 21%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0092-runc-cve-2019-5736-fix-build-failure.patch b/patch/0092-runc-cve-2019-5736-fix-build-failure.patch deleted file mode 100644 index 4c5509db4a19cdc1b3be4930565edce46dffab4e..0000000000000000000000000000000000000000 --- a/patch/0092-runc-cve-2019-5736-fix-build-failure.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 096172d15e1d29ba177a39d8ded3ca6b5b1c0ac4 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Thu, 14 Feb 2019 00:08:01 +0800 -Subject: [PATCH 92/94] runc: cve-2019-5736 fix build failure - -[Changelog]: fix build failure -[Author]: git - -Change-Id: Ie422758618726d9e98a7f9ec9a14e34d4479251f -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 2 ++ - script/runc-euleros.spec | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index e59d434..ff7ecb0 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -239,9 +239,11 @@ static int clone_binary(void) - case USING_MEMFD: - memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); - break; -+#ifdef O_TMPFILE - case USING_UNAMED_FILE: - memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); - break; -+#endif - case USING_TMPFILE: - memfd = mkostemp(template,O_EXCL | O_RDWR | O_CLOEXEC); - if (memfd < 0) { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index b577d1a..6e96326 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 21%{?dist} -+Release: 22%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0093-runc-fix-error-when-check-the-init-process.patch b/patch/0093-runc-fix-error-when-check-the-init-process.patch deleted file mode 100644 index dc9b0f9c9a9d9607d6e54b8c7096070c9399b7c3..0000000000000000000000000000000000000000 --- a/patch/0093-runc-fix-error-when-check-the-init-process.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 20ce68df5145a8c56a53322fcf8c6a149d9df535 Mon Sep 17 00:00:00 2001 -From: zhangyu235 -Date: Sun, 24 Feb 2019 17:49:09 +0800 -Subject: [PATCH 93/94] runc: fix error when check the init process - -reason:We shoule ensure the porcess is still the original init process -using doesInitProcessExist(). But it could happen when the process exited -just when we call function doesInitProcessExist(). Due to this reason, -we shoule not return error in this case. - -Change-Id: If515af5beed73adf19b2c31eae919c5a39911a18 -Signed-off-by: zhangyu235 ---- - libcontainer/container_linux.go | 2 +- - script/runc-euleros.spec | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 8100aca..5a3705e 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1411,7 +1411,7 @@ func (c *linuxContainer) refreshState() error { - func (c *linuxContainer) doesInitProcessExist(initPid int) (bool, error) { - startTime, err := system.GetProcessStartTime(initPid) - if err != nil { -- return false, newSystemErrorWithCausef(err, "getting init process %d start time", initPid) -+ return false, nil - } - if c.initProcessStartTime != startTime { - return false, nil -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 6e96326..09be036 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 22%{?dist} -+Release: 23%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch b/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch deleted file mode 100644 index 0f3626cc22531bf7908ee9e278757b8bf6929bdd..0000000000000000000000000000000000000000 --- a/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 662893f67295028a128885544d4a0ee25491da95 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Sat, 2 Mar 2019 19:51:08 +0800 -Subject: [PATCH 94/94] runc: If /tmp is mounted by option - noexec,docker run will fail - -reason: Change /tmp to /run for storage temporary runc - -Change-Id: Ia442b489dc1b57c6e4fd720b98b5061f83a88214 -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index ff7ecb0..8e8b70e 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -230,7 +230,7 @@ static int clone_binary(void) - { - int binfd, memfd; - ssize_t sent = 0; -- char template[] = "/tmp/runc.XXXXXX"; -+ char template[] = "/run/runc.XXXXXX"; - int type = 0; - char *tmpfile = NULL; - --- -2.7.4.3 - diff --git a/patch/0095-runc-just-warning-when-poststart-and-poststop.patch b/patch/0095-runc-just-warning-when-poststart-and-poststop.patch deleted file mode 100644 index b27e5956bfc5b78aa1e41b59554cfab78b091a7c..0000000000000000000000000000000000000000 --- a/patch/0095-runc-just-warning-when-poststart-and-poststop.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a854b14193b62c93bd62ccddebca29a77c8c07a2 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Fri, 8 Mar 2019 14:32:39 +0800 -Subject: [PATCH] runc: just warning when poststart and poststop - failed - -reason:just warning when poststart and poststop failed. - -Change-Id: I65e816c344506bbf9ea2f8c5ff4dc2d47cc0a35e -Signed-off-by: mashimiao -Signed-off-by: zhangsong34 ---- - libcontainer/container_linux.go | 3 +-- - libcontainer/state_linux.go | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 5a3705e..1f587c7 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -341,11 +341,10 @@ func (c *linuxContainer) start(process *Process) error { - for i, hook := range c.config.Hooks.Poststart { - logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) -+ logrus.Warnf("running poststart hook %d:%s failed: %s, ContainerId: %s", i, hook.Info(), err, s.ID) - if err := parent.terminate(); err != nil { - logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - } - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 6fa62c0..b570a24 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -68,8 +68,7 @@ func runPoststopHooks(c *linuxContainer) error { - for i, hook := range c.config.Hooks.Poststop { - logrus.Infof("run poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) -- return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) -+ logrus.Warnf("running poststop hook %d:%s failed: %s, ContainerID: %s", i, hook.Info(), err, s.ID) - } - } - } --- -1.8.3.1 - diff --git a/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch b/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch deleted file mode 100644 index 8adb55aff2b326d6a5a89056f77504a058eb354b..0000000000000000000000000000000000000000 --- a/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5a4335581b0ccf28342f3e48639ba38b611a02fe Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 13 Mar 2019 15:40:12 +0800 -Subject: [PATCH] runc: do not kill container if poststart hooks - execute failed - -reason:do not kill container if poststart hooks execute failed. - -Change-Id: Ieb1e1e7eeefe4bbd3cdb38fbba5a2a003297a5b3 -Signed-off-by: zhangsong34 ---- - libcontainer/container_linux.go | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 1f587c7..914da7f 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -342,9 +342,6 @@ func (c *linuxContainer) start(process *Process) error { - logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Warnf("running poststart hook %d:%s failed: %s, ContainerId: %s", i, hook.Info(), err, s.ID) -- if err := parent.terminate(); err != nil { -- logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) -- } - } - } - } --- -1.8.3.1 - diff --git a/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch b/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch deleted file mode 100644 index 08cfe015109345276e7433d1dd31fea584bbd502..0000000000000000000000000000000000000000 --- a/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 0b0bb50e4ecdebfb2646adb57e53972663947320 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 27 Mar 2019 15:28:03 +0800 -Subject: [PATCH] runc: Fix mountpoint leak and pivot_root error - -reason:We have no way to get exact /proc/self/mountinfo infomation -because it can change if other process mount/umount mountpoint. So -runc sometimes cannot get container's mountpoint when runc try to -make mountpoint private. This can cause mountpoint leak and pivot_root -error, runc error out like this: -``` -Handler for POST -/v1.23/containers/1d265651cb1d5475bcb7d5db21679757d5527d44a41c102c6aa4bddaa518c547/start -returned error: oci runtime error: container_linux.go:317: starting -container process caused \"process_linux.go:358: container init caused -\\\"rootfs_linux.go:105: jailing process inside rootfs caused -\\\\\\\"pivot_root invalid argument\\\\\\\"\\\"\"\n -``` - -Change-Id: Icde1638af6ad45c762c11fc8a2b8a969b6306ca5 -Signed-off-by: wangfengtu ---- - libcontainer/rootfs_linux.go | 32 ++++++++++++---------- - .../docker/docker/pkg/mount/mountinfo_linux.go | 7 +++-- - 2 files changed, 21 insertions(+), 18 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 3dd5113..53797e9 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -24,7 +24,10 @@ import ( - "github.com/opencontainers/selinux/go-selinux/label" - ) - --const defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -+const ( -+ defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -+ maxRetryTimes = 5 -+) - - // needsSetupDev returns true if /dev needs to be set up. - func needsSetupDev(config *configs.Config) bool { -@@ -545,23 +548,16 @@ func getMountInfo(mountinfo []*mount.Info, dir string) *mount.Info { - // Get the parent mount point of directory passed in as argument. Also return - // optional fields. - func getParentMount(rootfs string) (string, string, error) { -- var path string -- -- mountinfos, err := mount.GetMounts() -- if err != nil { -- return "", "", err -- } -- -- mountinfo := getMountInfo(mountinfos, rootfs) -- if mountinfo != nil { -- return rootfs, mountinfo.Optional, nil -- } -+ retryTimes := maxRetryTimes -+ path := rootfs - -- path = rootfs - for { -- path = filepath.Dir(path) -+ mountinfos, err := mount.GetMounts() -+ if err != nil { -+ return "", "", err -+ } - -- mountinfo = getMountInfo(mountinfos, path) -+ mountinfo := getMountInfo(mountinfos, path) - if mountinfo != nil { - return path, mountinfo.Optional, nil - } -@@ -569,6 +565,12 @@ func getParentMount(rootfs string) (string, string, error) { - if path == "/" { - break - } -+ -+ retryTimes-- -+ if retryTimes == 0 { -+ retryTimes = maxRetryTimes -+ path = filepath.Dir(path) -+ } - } - - // If we are here, we did not find parent mount. Something is wrong. -diff --git a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -index be69fee..b74773f 100644 ---- a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -+++ b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -@@ -4,8 +4,10 @@ package mount - - import ( - "bufio" -+ "bytes" - "fmt" - "io" -+ "io/ioutil" - "os" - "strings" - ) -@@ -31,13 +33,12 @@ const ( - // Parse /proc/self/mountinfo because comparing Dev and ino does not work from - // bind mounts - func parseMountTable() ([]*Info, error) { -- f, err := os.Open("/proc/self/mountinfo") -+ content, err := ioutil.ReadFile("/proc/self/mountinfo") - if err != nil { - return nil, err - } -- defer f.Close() - -- return parseInfoFile(f) -+ return parseInfoFile(bytes.NewReader(content)) - } - - func parseInfoFile(r io.Reader) ([]*Info, error) { --- -2.7.4 - diff --git a/patch/0098-runc-fix-read-only-containers-under-userns-.patch b/patch/0098-runc-fix-read-only-containers-under-userns-.patch deleted file mode 100644 index 0d745dc7c04275fb5466ac2db77a28a1e3808afe..0000000000000000000000000000000000000000 --- a/patch/0098-runc-fix-read-only-containers-under-userns-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6e35f145221347264ea5d4814308ab0624725024 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Tue, 2 Apr 2019 10:00:20 +0800 -Subject: [PATCH] runc: fix --read-only containers under - --userns-remap - -reason:fix --read-only containers under --userns-remap -cherry-pick from: - https://github.com/opencontainers/runc/pull/1572 - -Change-Id: I0f823caf1e72e4d61df9abe5f97fa5605425fd2c -Signed-off-by: Tycho Andersen -Signed-off-by: zhangsong34 ---- - libcontainer/rootfs_linux.go | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 53797e9..18a25f2 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -769,7 +769,14 @@ func remountReadonly(m *configs.Mount) error { - flags = m.Flags - ) - for i := 0; i < 5; i++ { -- if err := syscall.Mount("", dest, "", uintptr(flags|syscall.MS_REMOUNT|syscall.MS_RDONLY), ""); err != nil { -+ // There is a special case in the kernel for -+ // MS_REMOUNT | MS_BIND, which allows us to change only the -+ // flags even as an unprivileged user (i.e. user namespace) -+ // assuming we don't drop any security related flags (nodev, -+ // nosuid, etc.). So, let's use that case so that we can do -+ // this re-mount without failing in a userns. -+ flags |= syscall.MS_REMOUNT | syscall.MS_BIND | syscall.MS_RDONLY -+ if err := syscall.Mount("", dest, "", uintptr(flags), ""); err != nil { - switch err { - case syscall.EBUSY: - time.Sleep(100 * time.Millisecond) --- -1.8.3.1 - diff --git a/patch/0099-runc-enable-bep-ldflags.patch b/patch/0099-runc-enable-bep-ldflags.patch deleted file mode 100644 index 0d2c78ba81295b7cd9e6abda984645aa81bdd876..0000000000000000000000000000000000000000 --- a/patch/0099-runc-enable-bep-ldflags.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e2d3a9925386b07e15db79ceee1e5430eed13c26 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Thu, 11 Apr 2019 23:32:01 +0800 -Subject: [PATCH] runc: enable bep ldflags - -Change-Id: I9221cb54e470b6c511f7962294bf405de00549c7 -Signed-off-by: jingrui ---- - Makefile | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index f043d0bc..76423d83 100644 ---- a/Makefile -+++ b/Makefile -@@ -24,21 +24,26 @@ VERSION := ${shell cat ./VERSION} - - SHELL := $(shell command -v bash 2>/dev/null) - -+BEP_DIR := "/tmp/runc-build-bep" -+BEP_FLAG := "-tmpdir=${BEP_DIR}" -+ - .DEFAULT: runc - - runc: $(SOURCES) -- go build -i -ldflags "-X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . -+ mkdir -p ${BEP_DIR} -+ go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . - - all: runc recvtty - - recvtty: contrib/cmd/recvtty/recvtty - - contrib/cmd/recvtty/recvtty: $(SOURCES) -- go build -i -ldflags "-X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - static: $(SOURCES) -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ mkdir -p ${BEP_DIR} -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -2.17.1 - diff --git a/patch/0100-runc-set-makefile-buildid.patch b/patch/0100-runc-set-makefile-buildid.patch deleted file mode 100644 index 0688c8902fb5525274468c14a20aaec2acd7a462..0000000000000000000000000000000000000000 --- a/patch/0100-runc-set-makefile-buildid.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0a64bd10e05937427255dada4b6e1b12f31265f0 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 23 Apr 2019 22:35:45 +0800 -Subject: [PATCH] runc: set makefile buildid - -reason: set makefile buildid - -Change-Id: Ia547dbc383bffe6532168881a7376df1d990fd30 -Signed-off-by: xiadanni1 ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 76423d8..0352e40 100644 ---- a/Makefile -+++ b/Makefile -@@ -31,19 +31,19 @@ BEP_FLAG := "-tmpdir=${BEP_DIR}" - - runc: $(SOURCES) - mkdir -p ${BEP_DIR} -- go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . -+ go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . - - all: runc recvtty - - recvtty: contrib/cmd/recvtty/recvtty - - contrib/cmd/recvtty/recvtty: $(SOURCES) -- go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - static: $(SOURCES) - mkdir -p ${BEP_DIR} -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -1.8.3.1 - diff --git a/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch b/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch deleted file mode 100644 index 39bb3a048bc0af606a80d5fa1b09f66dd208abd8..0000000000000000000000000000000000000000 --- a/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 574f88a1801656869b69408cf2eb0f32c6c0e4aa Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Mon, 6 May 2019 02:49:36 +0800 -Subject: [PATCH] runc: print memory info when syscall.Exec failed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -reason: print system and cgroup memory info when syscall.Exec failed. - -Change-Id: I4aef0ea3da16849ab82adf45db5a828c758b33ea -Signed-off-by: xiadanni1 ---- - libcontainer/standard_init_linux.go | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index fd836f3..b25669f 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -4,12 +4,14 @@ package libcontainer - - import ( - "fmt" -+ "io/ioutil" - "os" - "os/exec" - "strings" - "syscall" - "time" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/keys" -@@ -212,7 +214,24 @@ func (l *linuxStandardInit) Init() error { - // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { -+ printMemoryInfo() - return newSystemErrorWithCause(err, "exec user process") - } - return nil - } -+ -+func printMemoryInfo() { -+ output, err := ioutil.ReadFile("/proc/meminfo") -+ if err != nil { -+ logrus.Errorf("Failed to read /proc/meminfo, %v", err) -+ } else { -+ logrus.Infof("print memory info (/proc/meminfo): %s", string(output)) -+ } -+ -+ output, err = ioutil.ReadFile("/sys/fs/cgroup/memory/memory.stat") -+ if err != nil { -+ logrus.Errorf("Failed to read /sys/fs/cgroup/memory/memory.stat, %v", err) -+ } else { -+ logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) -+ } -+} --- -1.8.3.1 - diff --git a/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch b/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch deleted file mode 100644 index 8a2114de14b80d875c3ce4003ce716cac701154f..0000000000000000000000000000000000000000 --- a/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fd784bfca82ff0f2383b9488da823fb83d25c63a Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 6 May 2019 19:29:40 +0800 -Subject: [PATCH] runc: add sysctl kernel.pid_max to whitelist - -reason:add sysctl kernel.pid_max to whitelist - -Signed-off-by: zhangsong34 ---- - libcontainer/configs/validate/validator.go | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index 5cb50fb..e6a97d0 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -126,6 +126,7 @@ func (v *ConfigValidator) sysctl(config *configs.Config) error { - "kernel.shmmax": true, - "kernel.shmmni": true, - "kernel.shm_rmid_forced": true, -+ "kernel.pid_max": true, - } - - for s := range config.Sysctl { --- -1.8.3.1 diff --git a/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch b/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch deleted file mode 100644 index 6ac39314b4fde30f3cdfa6dc1bbe85b101d5cc95..0000000000000000000000000000000000000000 --- a/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 5424fc3a4dca03773bd322add2b1528706ea75d3 Mon Sep 17 00:00:00 2001 -From: chenditang -Date: Sun, 30 Jun 2019 21:41:19 -0400 -Subject: [PATCH] runc: Retry adding pids to cgroups when EINVAL - occurs - -reason:The kernel will sometimes return EINVAL when writing a pid -to a cgroup.procs file. It does so when the task being added still -has the state TASK_NEW. -See: https://elixir.bootlin.com/linux/v4.8/source/kernel/sched/core.c#L8286 - -Co-authored-by: Danail Branekov - -Signed-off-by: Tom Godkin -Signed-off-by: Danail Branekov -Signed-off-by: chenditang ---- - libcontainer/cgroups/utils.go | 38 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 34 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index 5db3734..c9411ee 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -14,6 +14,7 @@ import ( - "time" - - "github.com/docker/go-units" -+ "golang.org/x/sys/unix" - ) - - const ( -@@ -438,10 +439,39 @@ func WriteCgroupProc(dir string, pid int) error { - } - - // Dont attach any pid to the cgroup if -1 is specified as a pid -- if pid != -1 { -- if err := ioutil.WriteFile(filepath.Join(dir, CgroupProcesses), []byte(strconv.Itoa(pid)), 0700); err != nil { -- return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ if pid == -1 { -+ return nil -+ } -+ -+ cgroupProcessesFile, err := os.OpenFile(filepath.Join(dir, CgroupProcesses), os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0700) -+ if err != nil { -+ return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ } -+ defer cgroupProcessesFile.Close() -+ -+ for i := 0; i < 5; i++ { -+ _, err = cgroupProcessesFile.WriteString(strconv.Itoa(pid)) -+ if err == nil { -+ return nil - } -+ -+ // EINVAL might mean that the task being added to cgroup.procs is in state -+ // TASK_NEW. We should attempt to do so again. -+ if isEINVAL(err) { -+ time.Sleep(30 * time.Millisecond) -+ continue -+ } -+ -+ return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ } -+ return err -+} -+ -+func isEINVAL(err error) bool { -+ switch err := err.(type) { -+ case *os.PathError: -+ return err.Err == unix.EINVAL -+ default: -+ return false - } -- return nil - } --- -1.8.3.1 - diff --git a/patch/0105-runc-disable-core-dump-during-pipe-io.patch b/patch/0105-runc-disable-core-dump-during-pipe-io.patch deleted file mode 100644 index 78890db7a8b00052ed8b6a96a01e88eebb22d343..0000000000000000000000000000000000000000 --- a/patch/0105-runc-disable-core-dump-during-pipe-io.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a912d31830ec000bc97d400784ea4a9165b0bd84 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Mon, 8 Jul 2019 19:49:24 +0800 -Subject: [PATCH] docker: disable core dump during exec - -Change-Id: If649738854616c1f448a148aef1f2cc414715616 -Signed-off-by: jingrui ---- - libcontainer/process_linux.go | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 4a7321c5..7a3da4fd 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -17,6 +17,7 @@ import ( - "path/filepath" - "strconv" - "syscall" -+ "golang.org/x/sys/unix" - ) - - type parentProcess interface { -@@ -66,6 +67,8 @@ func (p *setnsProcess) signal(sig os.Signal) error { - } - - func (p *setnsProcess) start() (err error) { -+ unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) -+ defer unix.Prctl(unix.PR_SET_DUMPABLE, 1, 0, 0, 0) - defer p.parentPipe.Close() - err = p.cmd.Start() - p.childPipe.Close() --- -2.17.1 - diff --git a/patch/0106-runc-do-not-override-devices.allow-file-when-.patch b/patch/0106-runc-do-not-override-devices.allow-file-when-.patch deleted file mode 100644 index 81e48f39f66dcfa226812b19f6f3f1171d6430ca..0000000000000000000000000000000000000000 --- a/patch/0106-runc-do-not-override-devices.allow-file-when-.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 62cc623c6c6f7ae344b3ac3ce2f9fb7b3d16303b Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 15 Jul 2019 14:47:05 +0800 -Subject: [PATCH] runc: do not override devices.allow content when set - device cgroup - -reason:docker update will call runc device cgroup set function which -will refresh container's devices to devices.allow cgroup file, this -action will override devices.allow content even through some existed -devices in container are not added by --device, for example by docker-tools. - -Change-Id: Ib353437a1d55de260f7724b3b8e085d08c7a3248 -Signed-off-by: zhangsong34 ---- - libcontainer/cgroups/fs/devices.go | 39 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) - -diff --git a/libcontainer/cgroups/fs/devices.go b/libcontainer/cgroups/fs/devices.go -index 0ac5b4e..0ffc2b3 100644 ---- a/libcontainer/cgroups/fs/devices.go -+++ b/libcontainer/cgroups/fs/devices.go -@@ -3,9 +3,13 @@ - package fs - - import ( -+ "bufio" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" -+ "io" -+ "os" -+ "path/filepath" - ) - - type DevicesGroup struct { -@@ -25,11 +29,38 @@ func (s *DevicesGroup) Apply(d *cgroupData) error { - return nil - } - -+func readCgroupDeviceMap(dir string) (map[string]bool, error) { -+ res := make(map[string]bool) -+ fi, err := os.Open(filepath.Join(dir, "devices.list")) -+ if err != nil { -+ return nil, err -+ } -+ defer fi.Close() -+ br := bufio.NewReader(fi) -+ for { -+ item, err := br.ReadString('\n') -+ if err != nil { -+ if err == io.EOF { -+ break -+ } else { -+ return nil, err -+ } -+ } -+ res[item] = true -+ } -+ return res, nil -+} -+ - func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if system.RunningInUserNS() { - return nil - } - -+ deviceMap, err := readCgroupDeviceMap(path) -+ if err != nil { -+ return err -+ } -+ - devices := cgroup.Resources.Devices - if len(devices) > 0 { - for _, dev := range devices { -@@ -40,6 +71,14 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if err := writeFile(path, file, dev.CgroupString()); err != nil { - return err - } -+ delete(deviceMap, dev.CgroupString()) -+ } -+ for item, _ := range deviceMap { -+ if item[0] == 'b' || item[0] == 'c' { -+ if err := writeFile(path, "devices.allow", item); err != nil { -+ return err -+ } -+ } - } - return nil - } --- -1.8.3.1 - diff --git a/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch b/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch deleted file mode 100644 index b4c9db14c127400d27aa465e0a764f96b6305c82..0000000000000000000000000000000000000000 --- a/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e0628b7349150e8774a91d495f1203e601450aa9 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 20 Aug 2019 09:10:09 +0800 -Subject: [PATCH] runc: print files limit and usage when exec failed - -reason: print files limit and usage when exec failed - -Change-Id: Id5a910f360345b70c29152133991807c233c9872 -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 1 + - libcontainer/standard_init_linux.go | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 914da7f..3ee7d5f 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,6 +310,7 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -+ printFilesInfo(c.id) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { - logrus.Warn(err) -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index b25669f..ac6b3bf 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -215,6 +215,7 @@ func (l *linuxStandardInit) Init() error { - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { - printMemoryInfo() -+ printFilesInfo("") - return newSystemErrorWithCause(err, "exec user process") - } - return nil -@@ -235,3 +236,13 @@ func printMemoryInfo() { - logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) - } - } -+ -+func printFilesInfo(id string) { -+ if id != "" { -+ id = "docker/" + id + "/" -+ } -+ output, err := ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.limit") -+ logrus.Errorf("cgroup files.limit: %s, err: %v", string(output), err) -+ output, err = ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.usage") -+ logrus.Errorf("cgroup files.usage: %s, err: %v", string(output), err) -+} --- -1.8.3.1 - diff --git a/patch/0109-runc-add-copyright.patch b/patch/0109-runc-add-copyright.patch deleted file mode 100644 index ee75ecea5af69c81955cba9b2d5aee48fad3ff91..0000000000000000000000000000000000000000 --- a/patch/0109-runc-add-copyright.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8756ef9699eb7bd2c2ddd6cbff2f0f81d9991c05 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Fri, 30 Aug 2019 00:43:29 +0800 -Subject: [PATCH] runc: add copyright - -reason: add copyright - -Change-Id: I9bc9a29de3c6138eee002b26ffd4b56965c0ea0f -Signed-off-by: xiadanni ---- - libcontainer/cgroups/fs/files.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index da4fd7d..d39b610 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -1,4 +1,9 @@ --// +build linux -+/* -+Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. -+Description: files cgroup common functions -+Author: yangshukui -+Create: 2017-09-18 -+*/ - - package fs - --- -1.8.3.1 - diff --git a/patch/0110-runc-add-lisence.patch b/patch/0110-runc-add-lisence.patch deleted file mode 100644 index 85bc12be22319a56bfa26d3acee28b562b7750f2..0000000000000000000000000000000000000000 --- a/patch/0110-runc-add-lisence.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b14e625669a92cf838c8743ecd9ee5bc278b54fe Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 6 Sep 2019 21:32:31 +0800 -Subject: [PATCH] runc: add lisence - -reason:add lisence - -Change-Id: I7936f07063082ac2b00bf8175d2ab8a5144f6bec -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/files.go | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index d39b610..3315cda 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -1,5 +1,7 @@ - /* - Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. -+Use of this source code is governed by Apache-2.0 -+license that can be found in the LICENSE file. - Description: files cgroup common functions - Author: yangshukui - Create: 2017-09-18 --- -1.8.3.1 - diff --git a/patch/0111-runc-add-log-message-for-cgroup-file-check.patch b/patch/0111-runc-add-log-message-for-cgroup-file-check.patch deleted file mode 100644 index 38efc55a8789c1c17da965277d8683f4d029f62f..0000000000000000000000000000000000000000 --- a/patch/0111-runc-add-log-message-for-cgroup-file-check.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 2150d9c48ff9073b0d85e4075b508579d82f3d27 Mon Sep 17 00:00:00 2001 -From: zhangtianyang -Date: Fri, 18 Oct 2019 19:59:21 +0800 -Subject: [PATCH] runc: add log message for cgroup file check - -reason:docker report "no such file" when try to write cpuset.mems, -not sure weather is deleted or not generated by kernel. so add -cgroup file check messages for further maintainance. - -Change-Id: I4c835f62547b0404a9cffeda643fe028f1b4aa0f -Signed-off-by: zhangtianyang ---- - libcontainer/cgroups/fs/apply_raw.go | 7 ++++++- - libcontainer/cgroups/fs/cpuset.go | 13 +++++++++++-- - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 1bf59a47..7677f336 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -313,7 +313,12 @@ func writeFile(dir, file, data string) error { - return fmt.Errorf("no such directory for %s", file) - } - if err := ioutil.WriteFile(filepath.Join(dir, file), []byte(data), 0700); err != nil { -- return fmt.Errorf("failed to write %v to %v: %v", data, file, err) -+ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) -+ if _, err = os.Stat(dir); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) -+ } -+ -+ return ret - } - return nil - } -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 069c4915..bc654948 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -31,14 +31,23 @@ func (s *CpusetGroup) Apply(d *cgroupData) error { - } - - func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error { -+ var ret error - if cgroup.Resources.CpusetCpus != "" { - if err := writeFile(path, "cpuset.cpus", cgroup.Resources.CpusetCpus); err != nil { -- return err -+ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) -+ if _, err := os.Stat(path); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) -+ } -+ return ret - } - } - if cgroup.Resources.CpusetMems != "" { - if err := writeFile(path, "cpuset.mems", cgroup.Resources.CpusetMems); err != nil { -- return err -+ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) -+ if _, err := os.Stat(path); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) -+ } -+ return ret - } - } - return nil --- -2.19.1 - diff --git a/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch b/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch deleted file mode 100644 index cded071a9954e15f30b26b6dd1501a51f38ecfed..0000000000000000000000000000000000000000 --- a/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 38b4e1c3faeb7dfb3001dbd34fb2fe904a642367 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 13 Dec 2019 03:40:47 +0800 -Subject: [PATCH 1/5] runc: Fixes #1585 config.Namespaces is empty - when accessed - -reason:Fixes #1585 config.Namespaces is empty when accessed - -Change-Id: I734db7320eee233a1b5a3c6f569506b7304e764e -Signed-off-by: xiadanni1 ---- - libcontainer/specconv/spec_linux.go | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8c4567c..0cbc66f 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -180,13 +180,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - - exists := false -- if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { -- config.Networks = []*configs.Network{ -- { -- Type: "loopback", -- }, -- } -- } - for _, m := range spec.Mounts { - config.Mounts = append(config.Mounts, createLibcontainerMount(cwd, m)) - } -@@ -217,7 +210,13 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - config.Namespaces.Add(t, ns.Path) - } -- -+ if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { -+ config.Networks = []*configs.Network{ -+ { -+ Type: "loopback", -+ }, -+ } -+ } - // set extra path masking for libcontainer for the various unsafe places in proc - config.MaskPaths = spec.Linux.MaskedPaths - config.ReadonlyPaths = spec.Linux.ReadonlyPaths --- -1.8.3.1 - diff --git a/patch/0112-runc-add-log-message-for-cgroup-file-check.patch b/patch/0112-runc-add-log-message-for-cgroup-file-check.patch deleted file mode 100644 index c219484cd1071fd48a4a8ce4278955d7fde9f9d7..0000000000000000000000000000000000000000 --- a/patch/0112-runc-add-log-message-for-cgroup-file-check.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f7d616b27608938de3bfdd8f03b9cb38fc404c4e Mon Sep 17 00:00:00 2001 -From: zhangtianyang -Date: Sun, 20 Oct 2019 17:25:23 +0800 -Subject: [PATCH] runc: add log message for cgroup file check - -reason: docker report "no such file" when try to write cpuset.mems, -not sure weather is deleted or not generated by kernel. so add -cgroup file check messages for further maintainance. -write action will not report error when file not exist, actual -reporter is read action in cgroup copy function. - -Change-Id: I8e1620dd67907730f0fc4d4d7004d710c7665aa0 -Signed-off-by: zhangtianyang ---- - libcontainer/cgroups/fs/cpuset.go | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index bc654948..76cb719b 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -161,10 +161,18 @@ func (s *CpusetGroup) copyIfNeeded(current, parent string) error { - ) - - if currentCpus, currentMems, err = s.getSubsystemSettings(current); err != nil { -- return err -+ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) -+ if _, err := os.Stat(current); err != nil { -+ ret = fmt.Errorf("%v, %v", ret, err) -+ } -+ return ret - } - if parentCpus, parentMems, err = s.getSubsystemSettings(parent); err != nil { -- return err -+ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) -+ if _, err := os.Stat(parent); err != nil { -+ ret = fmt.Errorf("%v, %v", ret, err) -+ } -+ return ret - } - - if s.isEmpty(currentCpus) { --- -2.19.1 - diff --git a/patch/0113-runc-Write-freezer-state-after-every-state-.patch b/patch/0113-runc-Write-freezer-state-after-every-state-.patch deleted file mode 100644 index 52c632f7678136c1d07e36c9bdb354bcbdc25a7a..0000000000000000000000000000000000000000 --- a/patch/0113-runc-Write-freezer-state-after-every-state-.patch +++ /dev/null @@ -1,46 +0,0 @@ -From caea676dbff1834f7c22c0ebe20a1d2c8c18b762 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 13 Dec 2019 06:50:44 +0800 -Subject: [PATCH 2/5] runc:Write freezer state after every state - check - -reason:This commit ensures we write the expected freezer cgroup state -after every state check, in case the state check does not give the expected -result. This can happen when a new task is created and prevents the -whole cgroup to be FROZEN, leaving the state into FREEZING instead. - -This patch prevents the case of an infinite loop to happen. -Fixes https://github.com/opencontainers/runc/issues/1609 - -Change-Id: I8243eba847357715b13fd4e291bee9782ee50360 -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/freezer.go | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/cgroups/fs/freezer.go b/libcontainer/cgroups/fs/freezer.go -index e70dfe3..5ab3c02 100644 ---- a/libcontainer/cgroups/fs/freezer.go -+++ b/libcontainer/cgroups/fs/freezer.go -@@ -29,11 +29,14 @@ func (s *FreezerGroup) Apply(d *cgroupData) error { - func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error { - switch cgroup.Resources.Freezer { - case configs.Frozen, configs.Thawed: -- if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -- return err -- } -- - for { -+ // In case this loop does not exit because it doesn't get the expected -+ // state, let's write again this state, hoping it's going to be properly -+ // set this time. Otherwise, this loop could run infinitely, waiting for -+ // a state change that would never happen. -+ if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -+ return err -+ } - state, err := readFile(path, "freezer.state") - if err != nil { - return err --- -1.8.3.1 - diff --git a/patch/0113-runc-modify-files-cgroup-info-reading-path.patch b/patch/0113-runc-modify-files-cgroup-info-reading-path.patch deleted file mode 100644 index 152357f90cf5c3644219e86283c22778f1706011..0000000000000000000000000000000000000000 --- a/patch/0113-runc-modify-files-cgroup-info-reading-path.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 6c40c8e9d74a61bbca97b1c98efaa5e1f75a02e1 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 1 Nov 2019 00:46:28 +0800 -Subject: [PATCH] runc: modify files cgroup info reading path - -reason: modify files crgoup info reading path in case user sets --cgroup-parent. - -Change-Id: If33fe87cafe813d2e40b664c52c31416c16e4587 -Signed-off-by: xiadanni1 ---- - libcontainer/container_linux.go | 2 +- - libcontainer/standard_init_linux.go | 30 ++++++++++-------------------- - 2 files changed, 11 insertions(+), 21 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 3ee7d5f..e7c178b 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,7 +310,7 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -- printFilesInfo(c.id) -+ printFilesInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { - logrus.Warn(err) -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index ac6b3bf..96901ef 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -7,6 +7,7 @@ import ( - "io/ioutil" - "os" - "os/exec" -+ "path/filepath" - "strings" - "syscall" - "time" -@@ -222,27 +223,16 @@ func (l *linuxStandardInit) Init() error { - } - - func printMemoryInfo() { -- output, err := ioutil.ReadFile("/proc/meminfo") -- if err != nil { -- logrus.Errorf("Failed to read /proc/meminfo, %v", err) -- } else { -- logrus.Infof("print memory info (/proc/meminfo): %s", string(output)) -- } -+ printFileContent("/proc/meminfo") -+ printFileContent("/sys/fs/cgroup/memory/memory.stat") -+} - -- output, err = ioutil.ReadFile("/sys/fs/cgroup/memory/memory.stat") -- if err != nil { -- logrus.Errorf("Failed to read /sys/fs/cgroup/memory/memory.stat, %v", err) -- } else { -- logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) -- } -+func printFilesInfo(path string) { -+ printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.limit")) -+ printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.usage")) - } - --func printFilesInfo(id string) { -- if id != "" { -- id = "docker/" + id + "/" -- } -- output, err := ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.limit") -- logrus.Errorf("cgroup files.limit: %s, err: %v", string(output), err) -- output, err = ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.usage") -- logrus.Errorf("cgroup files.usage: %s, err: %v", string(output), err) -+func printFileContent(path string) { -+ output, err := ioutil.ReadFile(path) -+ logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) - } --- -1.8.3.1 - diff --git a/patch/0114-runc-may-kill-other-process-when-container-.patch b/patch/0114-runc-may-kill-other-process-when-container-.patch deleted file mode 100644 index f41b558a02e85ed1c46a3b960ea8d8a65cffd9c3..0000000000000000000000000000000000000000 --- a/patch/0114-runc-may-kill-other-process-when-container-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b39f29f48456ae7e9b85ff7584adeb7e68fda460 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:35:01 +0800 -Subject: [PATCH 3/5] runc: may kill other process when container - has been stopped - -reason:may kill other process when container has been stopped - -Change-Id: Iaa1af6f44dec5d7eac3518ff1dbdfedc68eb7219 -Signed-off-by: xiadanni1 ---- - libcontainer/container_linux.go | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index e7c178b..9b25183 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -358,10 +358,18 @@ func (c *linuxContainer) Signal(s os.Signal, all bool) error { - if all { - return signalAllProcesses(c.cgroupManager, s) - } -- if err := c.initProcess.signal(s); err != nil { -- return newSystemErrorWithCause(err, "signaling init process") -+ status, err := c.currentStatus() -+ if err != nil { -+ return err - } -- return nil -+ // to avoid a PID reuse attack -+ if status == Running || status == Created { -+ if err := c.initProcess.signal(s); err != nil { -+ return newSystemErrorWithCause(err, "signaling init process") -+ } -+ return nil -+ } -+ return newGenericError(fmt.Errorf("container not running"), ContainerNotRunning) - } - - func (c *linuxContainer) createExecFifo() error { --- -1.8.3.1 - diff --git a/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch b/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch deleted file mode 100644 index 56f0730105a625073186c939d2d9e936841d8678..0000000000000000000000000000000000000000 --- a/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d46d29ea24d8fb4fc03c739e619d7d241dc5556c Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:37:54 +0800 -Subject: [PATCH 4/5] runc: Fix cgroup hugetlb size prefix for kB - -reason:The hugetlb cgroup control files (introduced here in 2012: -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=abb8206cb0773) -use "KB" and not "kB" -(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/hugetlb_cgroup.c?h=v5.0#n349). - -The behavior in the kernel has not changed since the introduction, and -the current code using "kB" will therefore fail on devices with small -amounts of ram (see -https://github.com/kubernetes/kubernetes/issues/77169) running a kernel -with config flag CONFIG_HUGETLBFS=y - -As seen from the code in "mem_fmt" inside hugetlb_cgroup.c, only "KB", -"MB" and "GB" are used, so the others may be removed as well. - -Here is a real world example of the files inside the -"/sys/kernel/mm/hugepages/" directory: -- "hugepages-64kB" -- "hugepages-2048kB" -- "hugepages-32768kB" -- "hugepages-1048576kB" - -And the corresponding cgroup files: -- "hugetlb.64KB._____" -- "hugetlb.2MB._____" -- "hugetlb.32MB._____" -- "hugetlb.1GB._____" - -Change-Id: If35e44e4b6846f8ed2870aedb9fed5dd3a38e91f -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/utils.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index c9411ee..5155e14 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -384,7 +384,7 @@ func RemovePaths(paths map[string]string) (err error) { - - func GetHugePageSize() ([]string, error) { - var pageSizes []string -- sizeList := []string{"B", "kB", "MB", "GB", "TB", "PB"} -+ sizeList := []string{"B", "KB", "MB", "GB", "TB", "PB"} - files, err := ioutil.ReadDir("/sys/kernel/mm/hugepages") - if err != nil { - return pageSizes, err --- -1.8.3.1 - diff --git a/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch b/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch deleted file mode 100644 index 40ffb1b059582da439953dfc8d664e1f2ea1885d..0000000000000000000000000000000000000000 --- a/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1b9ff04a3f6e7bc9b8bce087ccacf894c21adc97 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:41:08 +0800 -Subject: [PATCH 5/5] runc: check nil pointers in cgroup manager - -reason:check nil pointers in cgroup manager - -Change-Id: I94bda4b4ca4031ee93d54885603e60e64d3683a0 -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/apply_raw.go | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 7677f33..73c733a 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -189,9 +189,13 @@ func (m *Manager) GetStats() (*cgroups.Stats, error) { - } - - func (m *Manager) Set(container *configs.Config) error { -+ if container.Cgroups == nil { -+ return nil -+ } -+ - // If Paths are set, then we are just joining cgroups paths - // and there is no need to set any values. -- if m.Cgroups.Paths != nil { -+ if m.Cgroups != nil && m.Cgroups.Paths != nil { - return nil - } - -@@ -214,6 +218,10 @@ func (m *Manager) Set(container *configs.Config) error { - // Freeze toggles the container's freezer cgroup depending on the state - // provided - func (m *Manager) Freeze(state configs.FreezerState) error { -+ if m.Cgroups == nil { -+ return errors.New("cannot toggle freezer: cgroups not configured for container") -+ } -+ - paths := m.GetPaths() - dir := paths["freezer"] - prevState := m.Cgroups.Resources.Freezer --- -1.8.3.1 - diff --git a/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch b/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch deleted file mode 100644 index 5b989efaedebc08d39446370b7087bfcc2105331..0000000000000000000000000000000000000000 --- a/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 96ce6d60417ddf6c09d7e9a2b82421adcb01652f Mon Sep 17 00:00:00 2001 -From: Alex Fang -Date: Sat, 6 May 2017 21:34:32 +1000 -Subject: [PATCH] runc:Pass back the pid of runc:[1:CHILD] so we can - wait on it - -reason:This allows the libcontainer to automatically clean up runc:[1:CHILD] -processes created as part of nsenter. - -Change-Id: Ib3641cf54b5c8b830bc01fa60b3cfdcc189ea660 -Signed-off-by: Alex Fang ---- - libcontainer/init_linux.go | 3 ++- - libcontainer/nsenter/nsexec.c | 17 +++++++++++------ - libcontainer/process_linux.go | 27 ++++++++++++++++++++++----- - 3 files changed, 35 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 99cc02c..2a93431 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -29,7 +29,8 @@ const ( - ) - - type pid struct { -- Pid int `json:"pid"` -+ Pid int `json:"pid"` -+ PidFirstChild int `json:"pid_first"` - } - - // network is an internal struct used to setup container networks. -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 64ed76f..4f73b1a 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -554,7 +554,7 @@ void nsexec(void) - */ - case JUMP_PARENT: { - int len; -- pid_t child; -+ pid_t child, first_child = -1; - char buf[JSON_MAX]; - bool ready = false; - -@@ -618,18 +618,18 @@ void nsexec(void) - } - break; - case SYNC_RECVPID_PLS: { -- pid_t old = child; -+ first_child = child; - - /* Get the init_func pid. */ - if (read(syncfd, &child, sizeof(child)) != sizeof(child)) { -- kill(old, SIGKILL); -+ kill(first_child, SIGKILL); - bail("failed to sync with child: read(childpid)"); - } - - /* Send ACK. */ - s = SYNC_RECVPID_ACK; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) { -- kill(old, SIGKILL); -+ kill(first_child, SIGKILL); - kill(child, SIGKILL); - bail("failed to sync with child: write(SYNC_RECVPID_ACK)"); - } -@@ -677,8 +677,13 @@ void nsexec(void) - } - } - -- /* Send the init_func pid back to our parent. */ -- len = snprintf(buf, JSON_MAX, "{\"pid\": %d}\n", child); -+ /* -+ * Send the init_func pid and the pid of the first child back to our parent. -+ * -+ * We need to send both back because we can't reap the first child we created (CLONE_PARENT). -+ * It becomes the responsibility of our parent to reap the first child. -+ */ -+ len = snprintf(buf, JSON_MAX, "{\"pid\": %d, \"pid_first\": %d}\n", child, first_child); - if (len < 0) { - kill(child, SIGKILL); - bail("unable to generate JSON for child pid"); -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 7a3da4f..25fe30b 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -6,17 +6,18 @@ import ( - "encoding/json" - "errors" - "fmt" -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runc/libcontainer/cgroups" -- "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - "io" - "os" - "os/exec" - "path/filepath" - "strconv" - "syscall" -+ -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "golang.org/x/sys/unix" - ) - -@@ -141,6 +142,14 @@ func (p *setnsProcess) execSetns() error { - p.cmd.Wait() - return newSystemErrorWithCause(err, "reading pid from init pipe") - } -+ -+ // Clean up the zombie parent process -+ // On Unix systems FindProcess always succeeds. -+ firstChildProcess, _ := os.FindProcess(pid.PidFirstChild) -+ -+ // Ignore the error in case the child has already been reaped for any reason -+ _, _ = firstChildProcess.Wait() -+ - process, err := os.FindProcess(pid.Pid) - if err != nil { - return err -@@ -224,6 +233,14 @@ func (p *initProcess) execSetns() error { - p.cmd.Wait() - return err - } -+ -+ // Clean up the zombie parent process -+ // On Unix systems FindProcess always succeeds. -+ firstChildProcess, _ := os.FindProcess(pid.PidFirstChild) -+ -+ // Ignore the error in case the child has already been reaped for any reason -+ _, _ = firstChildProcess.Wait() -+ - process, err := os.FindProcess(pid.Pid) - if err != nil { - return err --- -1.8.3.1 - diff --git a/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch b/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch deleted file mode 100644 index bfb3e07ee66c0d6d9e8b86a7aeced74aa35bfc48..0000000000000000000000000000000000000000 --- a/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch +++ /dev/null @@ -1,180 +0,0 @@ -From eb576e28687555ba9253a2679706bf5491be0c11 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Fri, 24 Apr 2020 23:05:31 +0800 -Subject: [PATCH] runc: don't deny all devices when update cgroup resource - -reason: runc Update command causes 'Operation not permitted - -cherry-pick from https://github.com/opencontainers/runc/pull/2204 -cherry-pick from https://github.com/opencontainers/runc/pull/2205 - -It's first seen in a kubernetes cluster with docker as container runtime. -Our users reported that in some situation their bash script failed with message -can't create /dev/null: Operation not permitted. -But /dev/null is default device with permission rwm, -After digging some logs, we found that it can be reproduced in runc by following steps. - -- Run a runc container like "busybox". Suppose this container is called A -- run while true;do echo >/dev/null;done in container -- runc update --cpu-share 1024 A -- You will see sh: can't create /dev/null: Operation not permitted - -Change-Id: I4f374eed5033b9f3eb47c31b622c408d24142473 -Signed-off-by: panwenxiang ---- - libcontainer/cgroups/fs/devices.go | 72 +++++++++++++++++++++---- - libcontainer/cgroups/fs/devices_test.go | 8 +++ - 2 files changed, 71 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/cgroups/fs/devices.go b/libcontainer/cgroups/fs/devices.go -index 478b5db7..c5ca11f5 100644 ---- a/libcontainer/cgroups/fs/devices.go -+++ b/libcontainer/cgroups/fs/devices.go -@@ -10,11 +10,18 @@ import ( - "io" - "os" - "path/filepath" -+ "strings" - ) - - type DevicesGroup struct { - } - -+type Empty struct{} -+ -+var ( -+ defaultDevice = &configs.Device{Type: 'a', Major: -1, Minor: -1, Permissions: "rwm"} -+) -+ - func (s *DevicesGroup) Name() string { - return "devices" - } -@@ -61,6 +68,10 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - return err - } - -+ oldAllowedDevices, err := readDevicesExceptDefault(path) -+ if err != nil { -+ return err -+ } - devices := cgroup.Resources.Devices - if len(devices) > 0 { - for _, dev := range devices { -@@ -68,10 +79,17 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if dev.Allow { - file = "devices.allow" - } -- if err := writeFile(path, file, dev.CgroupString()); err != nil { -- return err -+ // For the second time set, we don't deny all devices, skip -+ if dev.Type == defaultDevice.Type && len(oldAllowedDevices) != 0 { -+ file = "" -+ } -+ -+ if len(file) > 0 { -+ if err := writeFile(path, file, dev.CgroupString()); err != nil { -+ return err -+ } -+ delete(deviceMap, dev.CgroupString()) - } -- delete(deviceMap, dev.CgroupString()) - } - for item, _ := range deviceMap { - if item[0] == 'b' || item[0] == 'c' { -@@ -84,13 +102,31 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - } - if cgroup.Resources.AllowAllDevices != nil { - if *cgroup.Resources.AllowAllDevices == false { -- if err := writeFile(path, "devices.deny", "a"); err != nil { -- return err -+ if len(oldAllowedDevices) == 0 { -+ if err := writeFile(path, "devices.deny", "a"); err != nil { -+ return err -+ } - } - -- for _, dev := range cgroup.Resources.AllowedDevices { -- if err := writeFile(path, "devices.allow", dev.CgroupString()); err != nil { -- return err -+ newAllowedDevices := make(map[string]Empty) -+ for _, dev := range cgroup.AllowedDevices { -+ newAllowedDevices[dev.CgroupString()] = Empty{} -+ } -+ // Deny no longer allowed devices -+ for cgroupString := range oldAllowedDevices { -+ if _, found := newAllowedDevices[cgroupString]; !found { -+ if err := writeFile(path, "devices.deny", cgroupString); err != nil { -+ return err -+ } -+ } -+ } -+ -+ // Allow new devices -+ for cgroupString := range newAllowedDevices { -+ if _, found := oldAllowedDevices[cgroupString]; !found { -+ if err := writeFile(path, "devices.allow", cgroupString); err != nil { -+ return err -+ } - } - } - return nil -@@ -100,7 +136,6 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - return err - } - } -- - for _, dev := range cgroup.Resources.DeniedDevices { - if err := writeFile(path, "devices.deny", dev.CgroupString()); err != nil { - return err -@@ -117,3 +152,22 @@ func (s *DevicesGroup) Remove(d *cgroupData) error { - func (s *DevicesGroup) GetStats(path string, stats *cgroups.Stats) error { - return nil - } -+ -+func readDevicesExceptDefault(path string) (allowed map[string]Empty, err error) { -+ cgroupData, err := readFile(path, "devices.list") -+ if err != nil { -+ return nil, err -+ } -+ -+ allowedDevices := make(map[string]Empty) -+ defaultDeviceString := defaultDevice.CgroupString() -+ for _, data := range strings.Split(cgroupData, "\n") { -+ // skip allow all devices -+ if len(data) == 0 || data == defaultDeviceString { -+ continue -+ } -+ allowedDevices[data] = Empty{} -+ } -+ -+ return allowedDevices, nil -+} -diff --git a/libcontainer/cgroups/fs/devices_test.go b/libcontainer/cgroups/fs/devices_test.go -index fc635b99..1184c459 100644 ---- a/libcontainer/cgroups/fs/devices_test.go -+++ b/libcontainer/cgroups/fs/devices_test.go -@@ -37,6 +37,10 @@ func TestDevicesSetAllow(t *testing.T) { - helper := NewCgroupTestUtil("devices", t) - defer helper.cleanup() - -+ helper.writeFileContents(map[string]string{ -+ "devices.list": "a *:* rwm", -+ }) -+ - helper.writeFileContents(map[string]string{ - "devices.deny": "a", - }) -@@ -75,6 +79,10 @@ func TestDevicesSetDeny(t *testing.T) { - helper := NewCgroupTestUtil("devices", t) - defer helper.cleanup() - -+ helper.writeFileContents(map[string]string{ -+ "devices.list": "a *:* rwm", -+ }) -+ - helper.writeFileContents(map[string]string{ - "devices.allow": "a", - }) --- -2.21.0 - diff --git a/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch b/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch deleted file mode 100644 index b203ba4643c24dbca7d1fbb2ff3ccc7793c0beea..0000000000000000000000000000000000000000 --- a/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 78b4cdf24a75950da64dab9146984b448497cc28 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Wed, 15 Apr 2020 16:58:02 +0800 -Subject: [PATCH] rootfs: do not permit /proc mounts to non-directories - -mount(2) will blindly follow symlinks, which is a problem because it -allows a malicious container to trick runc into mounting /proc to an -entirely different location (and thus within the attacker's control for -a rename-exchange attack). - -This is just a hotfix (to "stop the bleeding"), and the more complete -fix would be finish libpathrs and port runc to it (to avoid these types -of attacks entirely, and defend against a variety of other /proc-related -attacks). It can be bypased by someone having "/" be a volume controlled -by another container. - -Fixes: CVE-2019-19921 -Signed-off-by: Aleksa Sarai -Signed-off-by: xiadanni1 ---- - libcontainer/rootfs_linux.go | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 4c18482..67cf0bf 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -168,6 +168,18 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - - switch m.Device { - case "proc", "sysfs": -+ // If the destination already exists and is not a directory, we bail -+ // out This is to avoid mounting through a symlink or similar -- which -+ // has been a "fun" attack scenario in the past. -+ // TODO: This won't be necessary once we switch to libpathrs and we can -+ // stop all of these symlink-exchange attacks. -+ if fi, err := os.Lstat(dest); err != nil { -+ if !os.IsNotExist(err) { -+ return err -+ } -+ } else if fi.Mode()&os.ModeDir == 0 { -+ return fmt.Errorf("filesystem %q must be mounted on ordinary directory", m.Device) -+ } - if strings.HasPrefix(m.Destination, "/proc/sys/") { - return nil - } --- -1.8.3.1 - diff --git a/patch/0119-runc-use-git-commit-to-store-commit-ID.patch b/patch/0119-runc-use-git-commit-to-store-commit-ID.patch deleted file mode 100644 index 8ee8ac3084e6ecb3524f8919c88461900b469348..0000000000000000000000000000000000000000 --- a/patch/0119-runc-use-git-commit-to-store-commit-ID.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0eb0fdb40b1f1a80d07c95c59e391e44ea646b01 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 9 Jun 2020 01:52:46 +0800 -Subject: [PATCH] runc: use git-commit to store commit ID - -Change-Id: I9b2e44691dafc2ced0523ed8423f3cb29bebd502 -Signed-off-by: xiadanni1 ---- - Makefile | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index b24c22b..60d1d57 100644 ---- a/Makefile -+++ b/Makefile -@@ -10,8 +10,7 @@ GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) - PROJECT := github.com/opencontainers/runc - BUILDTAGS := seccomp --COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true) --COMMIT := $(if $(shell git status --porcelain --untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}") -+COMMIT := $(shell cat ./git-commit | head -c 40) - - MAN_DIR := $(CURDIR)/man/man8 - MAN_PAGES = $(shell ls $(MAN_DIR)/*.8) --- -1.8.3.1 - diff --git a/patch/0120-runc-fix-permission-denied.patch b/patch/0120-runc-fix-permission-denied.patch deleted file mode 100644 index 0c304b8b338e1e9b66d7a4a09781656dde2a2cd1..0000000000000000000000000000000000000000 --- a/patch/0120-runc-fix-permission-denied.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 6594d5c042a2253386820a640b3a7087e07d0df2 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 9 Jul 2020 15:56:54 +0800 -Subject: [PATCH] runc: fix permission denied - -reason: when exec as root and config.Cwd is not owned by root, -exec will fail because root doesn't have the caps. - -Signed-off-by: Kurnia D Win -Signed-off-by: xiadanni ---- - libcontainer/init_linux.go | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 2a93431..73505ef 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -118,6 +118,11 @@ func finalizeNamespace(config *initConfig) error { - if err := utils.CloseExecFrom(config.PassedFilesCount + 3); err != nil { - return err - } -+ if config.Cwd != "" { -+ if err := syscall.Chdir(config.Cwd); err != nil { -+ return fmt.Errorf("chdir to cwd (%q) set in config.json failed: %v", config.Cwd, err) -+ } -+ } - - capabilities := &configs.Capabilities{} - if config.Capabilities != nil { -@@ -146,11 +151,6 @@ func finalizeNamespace(config *initConfig) error { - if err := w.ApplyCaps(); err != nil { - return err - } -- if config.Cwd != "" { -- if err := syscall.Chdir(config.Cwd); err != nil { -- return fmt.Errorf("chdir to cwd (%q) set in config.json failed: %v", config.Cwd, err) -- } -- } - return nil - } - --- -1.8.3.1 - diff --git a/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch b/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch deleted file mode 100644 index 23466beb9ed35001fa95189a8da494a72ea71cbf..0000000000000000000000000000000000000000 --- a/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 0fe280f25568a5700f9ac388b1434b344e1d1fab Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 4 Jan 2021 20:00:26 +0800 -Subject: [PATCH] runc: add cpu and memory info when print cgroup info - -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 4 ++-- - libcontainer/standard_init_linux.go | 23 +++++++++++++---------- - 2 files changed, 15 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 9b25183..7319286 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,10 +310,10 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -- printFilesInfo(c.config.Cgroups.Path) -+ printCgroupInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { -- logrus.Warn(err) -+ logrus.Warnf("parent process terminate error: %v", err) - } - return newSystemErrorWithCause(err, "starting container process") - } -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 96901ef..b985180 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -215,21 +215,24 @@ func (l *linuxStandardInit) Init() error { - // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { -- printMemoryInfo() -- printFilesInfo("") -+ printCgroupInfo("") - return newSystemErrorWithCause(err, "exec user process") - } - return nil - } - --func printMemoryInfo() { -- printFileContent("/proc/meminfo") -- printFileContent("/sys/fs/cgroup/memory/memory.stat") --} -- --func printFilesInfo(path string) { -- printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.limit")) -- printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.usage")) -+func printCgroupInfo(path string) { -+ infoFileList := []string{ -+ "/proc/meminfo", -+ "/sys/fs/cgroup/memory/memory.stat", -+ filepath.Join("/sys/fs/cgroup/files", path, "/files.limit"), -+ filepath.Join("/sys/fs/cgroup/files", path, "/files.usage"), -+ filepath.Join("/sys/fs/cgroup/memory", path, "/memory.stat"), -+ filepath.Join("/sys/fs/cgroup/cpu", path, "/cpu.stat"), -+ } -+ for _, file := range infoFileList { -+ printFileContent(file) -+ } - } - - func printFileContent(path string) { --- -1.8.3.1 - diff --git a/patch/0121-runc-add-sys-symbol-to-support-riscv.patch b/patch/0121-runc-add-sys-symbol-to-support-riscv.patch deleted file mode 100644 index 715f6b4178f4028a827c192b6257e1ec5ef595c1..0000000000000000000000000000000000000000 --- a/patch/0121-runc-add-sys-symbol-to-support-riscv.patch +++ /dev/null @@ -1,7988 +0,0 @@ -From 74130b6b05ba39ffe592850f87b0b8a1f37730ba Mon Sep 17 00:00:00 2001 -From: yangyanchao -Date: Tue, 15 Dec 2020 03:03:08 +0000 -Subject: [PATCH 1/2] runc-add-sys-symbol-to-support-riscv - ---- - .../golang.org/x/sys/unix/asm_linux_riscv64.s | 26 + - .../x/sys/unix/syscall_linux_riscv64.go | 237 ++ - .../x/sys/unix/zerrors_linux_riscv64.go | 2826 +++++++++++++++++ - .../x/sys/unix/zsyscall_linux_riscv64.go | 2217 +++++++++++++ - .../x/sys/unix/zsysnum_linux_riscv64.go | 289 ++ - .../x/sys/unix/ztypes_linux_riscv64.go | 2334 ++++++++++++++ - 6 files changed, 7929 insertions(+) - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_riscv64.s - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go - -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s -new file mode 100644 -index 0000000..5b740f7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s -@@ -0,0 +1,26 @@ -+// Copyright 2019 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build riscv64,!gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for linux/riscv64. -+// -+// Where available, just jump to package syscall's implementation of -+// these functions. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -+ -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -new file mode 100644 -index 0000000..102f995 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -@@ -0,0 +1,237 @@ -+// Copyright 2018 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build riscv64,linux -+ -+package unix -+ -+import "unsafe" -+ -+func EpollCreate(size int) (fd int, err error) { -+ if size <= 0 { -+ return -1, EINVAL -+ } -+ return EpollCreate1(0) -+} -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ var ts *Timespec -+ if timeout != nil { -+ ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} -+ } -+ return Pselect(nfd, r, w, e, ts, nil) -+} -+ -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, 0) -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) -+} -+ -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ return ENOSYS -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 /1e3 -+ return -+} -+ -+func setTimespec(sec, nsec int64) Timespec { -+ return Timespec{Sec: sec, Nsec: nsec} -+} -+ -+func setTimeval(sec, usec int64) Timeval { -+ return Timeval{Sec: sec, Usec: usec} -+} -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+func utimes(path string, tv *[2]Timeval) (err error) { -+ if tv == nil { -+ return utimensat(AT_FDCWD, path, nil, 0) -+ } -+ -+ ts := []Timespec{ -+ NsecToTimespec(TimevalToNsec(tv[0])), -+ NsecToTimespec(TimevalToNsec(tv[1])), -+ } -+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Pc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+func InotifyInit() (fd int, err error) { -+ return InotifyInit1(0) -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ return Dup3(oldfd, newfd, 0) -+} -+ -+func Pause() error { -+ _, err := ppoll(nil, 0, nil, nil) -+ return err -+} -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ var ts *Timespec -+ if timeout >= 0 { -+ ts = new(Timespec) -+ *ts = NsecToTimespec(int64(timeout) * 1e6) -+ } -+ if len(fds) == 0 { -+ return ppoll(nil, 0, ts, nil) -+ } -+ return ppoll(&fds[0], len(fds), ts, nil) -+} -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) -+} -+ -+//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) -+ -+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { -+ cmdlineLen := len(cmdline) -+ if cmdlineLen > 0 { -+ // Account for the additional NULL byte added by -+ // BytePtrFromString in kexecFileLoad. The kexec_file_load -+ // syscall expects a NULL-terminated string. -+ cmdlineLen++ -+ } -+ return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -new file mode 100644 -index 0000000..0465451 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -@@ -0,0 +1,2826 @@ -+// mkerrors.sh -Wall -Werror -static -I/tmp/include -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. -+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AAFS_MAGIC = 0x5a3c69f0 -+ ADFS_SUPER_MAGIC = 0xadf5 -+ AFFS_SUPER_MAGIC = 0xadff -+ AFS_FS_MAGIC = 0x6b414653 -+ AFS_SUPER_MAGIC = 0x5346414f -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2d -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_QIPCRTR = 0x2a -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SMC = 0x2b -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ AF_XDP = 0x2c -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ANON_INODE_FS_MAGIC = 0x9041934 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_RAWIP = 0x207 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_VSOCKMON = 0x33a -+ ARPHRD_X25 = 0x10f -+ AUTOFS_SUPER_MAGIC = 0x187 -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BALLOON_KVM_MAGIC = 0x13661366 -+ BDEVFS_MAGIC = 0x62646576 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ BINFMTFS_MAGIC = 0x42494e4d -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKPBSZGET = 0x127b -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ BTRFS_SUPER_MAGIC = 0x9123683e -+ BTRFS_TEST_MAGIC = 0x73727279 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RAW_FILTER_MAX = 0x200 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CGROUP2_SUPER_MAGIC = 0x63677270 -+ CGROUP_SUPER_MAGIC = 0x27e0eb -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CODA_SUPER_MAGIC = 0x73757245 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRAMFS_MAGIC = 0x28cd3d45 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DAXFS_MAGIC = 0x64646178 -+ DEBUGFS_MAGIC = 0x64626720 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ECRYPTFS_SUPER_MAGIC = 0xf15f -+ EFD_CLOEXEC = 0x80000 -+ EFD_NONBLOCK = 0x800 -+ EFD_SEMAPHORE = 0x1 -+ EFIVARFS_MAGIC = 0xde5e81e4 -+ EFS_SUPER_MAGIC = 0x414a53 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_ERSPAN = 0x88be -+ ETH_P_ERSPAN2 = 0x22eb -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IBOE = 0x8915 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IFE = 0xed3e -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MAP = 0xf9 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_NCSI = 0x88f8 -+ ETH_P_NSH = 0x894f -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PREAUTH = 0x88c7 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXABYTE_ENABLE_NEST = 0xf0 -+ EXT2_SUPER_MAGIC = 0xef53 -+ EXT3_SUPER_MAGIC = 0xef53 -+ EXT4_SUPER_MAGIC = 0xef53 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ F2FS_SUPER_MAGIC = 0xf2f52010 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_UNSHARE_RANGE = 0x40 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 -+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 -+ FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 -+ FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 -+ FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 -+ FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 -+ FS_ENCRYPTION_MODE_INVALID = 0x0 -+ FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 -+ FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 -+ FS_KEY_DESCRIPTOR_SIZE = 0x8 -+ FS_KEY_DESC_PREFIX = "fscrypt:" -+ FS_KEY_DESC_PREFIX_SIZE = 0x8 -+ FS_MAX_KEY_SIZE = 0x40 -+ FS_POLICY_FLAGS_PAD_16 = 0x2 -+ FS_POLICY_FLAGS_PAD_32 = 0x3 -+ FS_POLICY_FLAGS_PAD_4 = 0x0 -+ FS_POLICY_FLAGS_PAD_8 = 0x1 -+ FS_POLICY_FLAGS_PAD_MASK = 0x3 -+ FS_POLICY_FLAGS_VALID = 0x7 -+ FUTEXFS_SUPER_MAGIC = 0xbad1dea -+ F_ADD_SEALS = 0x409 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_GET_FILE_RW_HINT = 0x40d -+ F_GET_RW_HINT = 0x40b -+ F_GET_SEALS = 0x40a -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SEAL_GROW = 0x4 -+ F_SEAL_SEAL = 0x1 -+ F_SEAL_SHRINK = 0x2 -+ F_SEAL_WRITE = 0x8 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SET_FILE_RW_HINT = 0x40e -+ F_SET_RW_HINT = 0x40c -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GENL_ADMIN_PERM = 0x1 -+ GENL_CMD_CAP_DO = 0x2 -+ GENL_CMD_CAP_DUMP = 0x4 -+ GENL_CMD_CAP_HASPOL = 0x8 -+ GENL_HDRLEN = 0x4 -+ GENL_ID_CTRL = 0x10 -+ GENL_ID_PMCRAID = 0x12 -+ GENL_ID_VFS_DQUOT = 0x11 -+ GENL_MAX_ID = 0x3ff -+ GENL_MIN_ID = 0x10 -+ GENL_NAMSIZ = 0x10 -+ GENL_START_ALLOC = 0x13 -+ GENL_UNS_ADMIN_PERM = 0x10 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HDIO_DRIVE_CMD = 0x31f -+ HDIO_DRIVE_CMD_AEB = 0x31e -+ HDIO_DRIVE_CMD_HDR_SIZE = 0x4 -+ HDIO_DRIVE_HOB_HDR_SIZE = 0x8 -+ HDIO_DRIVE_RESET = 0x31c -+ HDIO_DRIVE_TASK = 0x31e -+ HDIO_DRIVE_TASKFILE = 0x31d -+ HDIO_DRIVE_TASK_HDR_SIZE = 0x8 -+ HDIO_GETGEO = 0x301 -+ HDIO_GET_32BIT = 0x309 -+ HDIO_GET_ACOUSTIC = 0x30f -+ HDIO_GET_ADDRESS = 0x310 -+ HDIO_GET_BUSSTATE = 0x31a -+ HDIO_GET_DMA = 0x30b -+ HDIO_GET_IDENTITY = 0x30d -+ HDIO_GET_KEEPSETTINGS = 0x308 -+ HDIO_GET_MULTCOUNT = 0x304 -+ HDIO_GET_NICE = 0x30c -+ HDIO_GET_NOWERR = 0x30a -+ HDIO_GET_QDMA = 0x305 -+ HDIO_GET_UNMASKINTR = 0x302 -+ HDIO_GET_WCACHE = 0x30e -+ HDIO_OBSOLETE_IDENTITY = 0x307 -+ HDIO_SCAN_HWIF = 0x328 -+ HDIO_SET_32BIT = 0x324 -+ HDIO_SET_ACOUSTIC = 0x32c -+ HDIO_SET_ADDRESS = 0x32f -+ HDIO_SET_BUSSTATE = 0x32d -+ HDIO_SET_DMA = 0x326 -+ HDIO_SET_KEEPSETTINGS = 0x323 -+ HDIO_SET_MULTCOUNT = 0x321 -+ HDIO_SET_NICE = 0x329 -+ HDIO_SET_NOWERR = 0x325 -+ HDIO_SET_PIO_MODE = 0x327 -+ HDIO_SET_QDMA = 0x32e -+ HDIO_SET_UNMASKINTR = 0x322 -+ HDIO_SET_WCACHE = 0x32b -+ HDIO_SET_XFER = 0x306 -+ HDIO_TRISTATE_HWIF = 0x31b -+ HDIO_UNREGISTER_HWIF = 0x32a -+ HOSTFS_SUPER_MAGIC = 0xc0ffee -+ HPFS_SUPER_MAGIC = 0xf995e849 -+ HUGETLBFS_MAGIC = 0x958458f6 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0xa -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NAPI = 0x10 -+ IFF_NAPI_FRAGS = 0x20 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MASK_CREATE = 0x10000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADDR_PREFERENCES = 0x48 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_AUTOFLOWLABEL = 0x46 -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_FREEBIND = 0x4e -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MINHOPCOUNT = 0x49 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_ALL = 0x1d -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_ORIGDSTADDR = 0x4a -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVFRAGSIZE = 0x4d -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVORIGDSTADDR = 0x4a -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_TRANSPARENT = 0x4b -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_UNICAST_IF = 0x4c -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVFRAGSIZE = 0x19 -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISOFS_SUPER_MAGIC = 0x9660 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ JFFS2_SUPER_MAGIC = 0x72b6 -+ KEXEC_ARCH_386 = 0x30000 -+ KEXEC_ARCH_68K = 0x40000 -+ KEXEC_ARCH_AARCH64 = 0xb70000 -+ KEXEC_ARCH_ARM = 0x280000 -+ KEXEC_ARCH_DEFAULT = 0x0 -+ KEXEC_ARCH_IA_64 = 0x320000 -+ KEXEC_ARCH_MASK = 0xffff0000 -+ KEXEC_ARCH_MIPS = 0x80000 -+ KEXEC_ARCH_MIPS_LE = 0xa0000 -+ KEXEC_ARCH_PPC = 0x140000 -+ KEXEC_ARCH_PPC64 = 0x150000 -+ KEXEC_ARCH_S390 = 0x160000 -+ KEXEC_ARCH_SH = 0x2a0000 -+ KEXEC_ARCH_X86_64 = 0x3e0000 -+ KEXEC_FILE_NO_INITRAMFS = 0x4 -+ KEXEC_FILE_ON_CRASH = 0x2 -+ KEXEC_FILE_UNLOAD = 0x1 -+ KEXEC_ON_CRASH = 0x1 -+ KEXEC_PRESERVE_CONTEXT = 0x2 -+ KEXEC_SEGMENT_MAX = 0x10 -+ KEYCTL_ASSUME_AUTHORITY = 0x10 -+ KEYCTL_CHOWN = 0x4 -+ KEYCTL_CLEAR = 0x7 -+ KEYCTL_DESCRIBE = 0x6 -+ KEYCTL_DH_COMPUTE = 0x17 -+ KEYCTL_GET_KEYRING_ID = 0x0 -+ KEYCTL_GET_PERSISTENT = 0x16 -+ KEYCTL_GET_SECURITY = 0x11 -+ KEYCTL_INSTANTIATE = 0xc -+ KEYCTL_INSTANTIATE_IOV = 0x14 -+ KEYCTL_INVALIDATE = 0x15 -+ KEYCTL_JOIN_SESSION_KEYRING = 0x1 -+ KEYCTL_LINK = 0x8 -+ KEYCTL_NEGATE = 0xd -+ KEYCTL_PKEY_DECRYPT = 0x1a -+ KEYCTL_PKEY_ENCRYPT = 0x19 -+ KEYCTL_PKEY_QUERY = 0x18 -+ KEYCTL_PKEY_SIGN = 0x1b -+ KEYCTL_PKEY_VERIFY = 0x1c -+ KEYCTL_READ = 0xb -+ KEYCTL_REJECT = 0x13 -+ KEYCTL_RESTRICT_KEYRING = 0x1d -+ KEYCTL_REVOKE = 0x3 -+ KEYCTL_SEARCH = 0xa -+ KEYCTL_SESSION_TO_PARENT = 0x12 -+ KEYCTL_SETPERM = 0x5 -+ KEYCTL_SET_REQKEY_KEYRING = 0xe -+ KEYCTL_SET_TIMEOUT = 0xf -+ KEYCTL_SUPPORTS_DECRYPT = 0x2 -+ KEYCTL_SUPPORTS_ENCRYPT = 0x1 -+ KEYCTL_SUPPORTS_SIGN = 0x4 -+ KEYCTL_SUPPORTS_VERIFY = 0x8 -+ KEYCTL_UNLINK = 0x9 -+ KEYCTL_UPDATE = 0x2 -+ KEY_REQKEY_DEFL_DEFAULT = 0x0 -+ KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 -+ KEY_REQKEY_DEFL_NO_CHANGE = -0x1 -+ KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 -+ KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 -+ KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 -+ KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 -+ KEY_REQKEY_DEFL_USER_KEYRING = 0x4 -+ KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 -+ KEY_SPEC_GROUP_KEYRING = -0x6 -+ KEY_SPEC_PROCESS_KEYRING = -0x2 -+ KEY_SPEC_REQKEY_AUTH_KEY = -0x7 -+ KEY_SPEC_REQUESTOR_KEYRING = -0x8 -+ KEY_SPEC_SESSION_KEYRING = -0x3 -+ KEY_SPEC_THREAD_KEYRING = -0x1 -+ KEY_SPEC_USER_KEYRING = -0x4 -+ KEY_SPEC_USER_SESSION_KEYRING = -0x5 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_KEEPONFORK = 0x13 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MADV_WIPEONFORK = 0x12 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FIXED_NOREPLACE = 0x100000 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_SHARED_VALIDATE = 0x3 -+ MAP_STACK = 0x20000 -+ MAP_SYNC = 0x80000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MFD_ALLOW_SEALING = 0x2 -+ MFD_CLOEXEC = 0x1 -+ MFD_HUGETLB = 0x4 -+ MFD_HUGE_16GB = -0x78000000 -+ MFD_HUGE_16MB = 0x60000000 -+ MFD_HUGE_1GB = 0x78000000 -+ MFD_HUGE_1MB = 0x50000000 -+ MFD_HUGE_256MB = 0x70000000 -+ MFD_HUGE_2GB = 0x7c000000 -+ MFD_HUGE_2MB = 0x54000000 -+ MFD_HUGE_32MB = 0x64000000 -+ MFD_HUGE_512KB = 0x4c000000 -+ MFD_HUGE_512MB = 0x74000000 -+ MFD_HUGE_64KB = 0x40000000 -+ MFD_HUGE_8MB = 0x5c000000 -+ MFD_HUGE_MASK = 0x3f -+ MFD_HUGE_SHIFT = 0x1a -+ MINIX2_SUPER_MAGIC = 0x2468 -+ MINIX2_SUPER_MAGIC2 = 0x2478 -+ MINIX3_SUPER_MAGIC = 0x4d5a -+ MINIX_SUPER_MAGIC = 0x137f -+ MINIX_SUPER_MAGIC2 = 0x138f -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MODULE_INIT_IGNORE_MODVERSIONS = 0x1 -+ MODULE_INIT_IGNORE_VERMAGIC = 0x2 -+ MSDOS_SUPER_MAGIC = 0x4d44 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MSG_ZEROCOPY = 0x4000000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_BORN = 0x20000000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOREMOTELOCK = 0x8000000 -+ MS_NOSEC = 0x10000000 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SUBMOUNT = 0x4000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ MS_VERBOSE = 0x8000 -+ MTD_INODE_FS_MAGIC = 0x11307854 -+ NAME_MAX = 0xff -+ NCP_SUPER_MAGIC = 0x564c -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_EXT_ACK = 0xb -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_GET_STRICT_CHK = 0xc -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SMC = 0x16 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NETNSA_MAX = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFNETLINK_V0 = 0x0 -+ NFNLGRP_ACCT_QUOTA = 0x8 -+ NFNLGRP_CONNTRACK_DESTROY = 0x3 -+ NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 -+ NFNLGRP_CONNTRACK_EXP_NEW = 0x4 -+ NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 -+ NFNLGRP_CONNTRACK_NEW = 0x1 -+ NFNLGRP_CONNTRACK_UPDATE = 0x2 -+ NFNLGRP_MAX = 0x9 -+ NFNLGRP_NFTABLES = 0x7 -+ NFNLGRP_NFTRACE = 0x9 -+ NFNLGRP_NONE = 0x0 -+ NFNL_BATCH_MAX = 0x1 -+ NFNL_MSG_BATCH_BEGIN = 0x10 -+ NFNL_MSG_BATCH_END = 0x11 -+ NFNL_NFA_NEST = 0x8000 -+ NFNL_SUBSYS_ACCT = 0x7 -+ NFNL_SUBSYS_COUNT = 0xc -+ NFNL_SUBSYS_CTHELPER = 0x9 -+ NFNL_SUBSYS_CTNETLINK = 0x1 -+ NFNL_SUBSYS_CTNETLINK_EXP = 0x2 -+ NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 -+ NFNL_SUBSYS_IPSET = 0x6 -+ NFNL_SUBSYS_NFTABLES = 0xa -+ NFNL_SUBSYS_NFT_COMPAT = 0xb -+ NFNL_SUBSYS_NONE = 0x0 -+ NFNL_SUBSYS_OSF = 0x5 -+ NFNL_SUBSYS_QUEUE = 0x3 -+ NFNL_SUBSYS_ULOG = 0x4 -+ NFS_SUPER_MAGIC = 0x6969 -+ NILFS_SUPER_MAGIC = 0x3434 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_ACK_TLVS = 0x200 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CAPPED = 0x100 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_NONREC = 0x100 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ NSFS_MAGIC = 0x6e736673 -+ OCFS2_SUPER_MAGIC = 0x7461636f -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPENPROM_SUPER_MAGIC = 0x9fa1 -+ OPOST = 0x1 -+ OVERLAYFS_SUPER_MAGIC = 0x794c7630 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_IGNORE_OUTGOING = 0x17 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PERF_EVENT_IOC_DISABLE = 0x2401 -+ PERF_EVENT_IOC_ENABLE = 0x2400 -+ PERF_EVENT_IOC_ID = 0x80082407 -+ PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b -+ PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 -+ PERF_EVENT_IOC_PERIOD = 0x40082404 -+ PERF_EVENT_IOC_QUERY_BPF = 0xc008240a -+ PERF_EVENT_IOC_REFRESH = 0x2402 -+ PERF_EVENT_IOC_RESET = 0x2403 -+ PERF_EVENT_IOC_SET_BPF = 0x40042408 -+ PERF_EVENT_IOC_SET_FILTER = 0x40082406 -+ PERF_EVENT_IOC_SET_OUTPUT = 0x2405 -+ PIPEFS_MAGIC = 0x50495045 -+ PPPIOCATTACH = 0x4004743d -+ PPPIOCATTCHAN = 0x40047438 -+ PPPIOCCONNECT = 0x4004743a -+ PPPIOCDETACH = 0x4004743c -+ PPPIOCDISCONN = 0x7439 -+ PPPIOCGASYNCMAP = 0x80047458 -+ PPPIOCGCHAN = 0x80047437 -+ PPPIOCGDEBUG = 0x80047441 -+ PPPIOCGFLAGS = 0x8004745a -+ PPPIOCGIDLE = 0x8010743f -+ PPPIOCGL2TPSTATS = 0x80487436 -+ PPPIOCGMRU = 0x80047453 -+ PPPIOCGNPMODE = 0xc008744c -+ PPPIOCGRASYNCMAP = 0x80047455 -+ PPPIOCGUNIT = 0x80047456 -+ PPPIOCGXASYNCMAP = 0x80207450 -+ PPPIOCNEWUNIT = 0xc004743e -+ PPPIOCSACTIVE = 0x40107446 -+ PPPIOCSASYNCMAP = 0x40047457 -+ PPPIOCSCOMPRESS = 0x4010744d -+ PPPIOCSDEBUG = 0x40047440 -+ PPPIOCSFLAGS = 0x40047459 -+ PPPIOCSMAXCID = 0x40047451 -+ PPPIOCSMRRU = 0x4004743b -+ PPPIOCSMRU = 0x40047452 -+ PPPIOCSNPMODE = 0x4008744b -+ PPPIOCSPASS = 0x40107447 -+ PPPIOCSRASYNCMAP = 0x40047454 -+ PPPIOCSXASYNCMAP = 0x4020744f -+ PPPIOCXFERUNIT = 0x744e -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROC_SUPER_MAGIC = 0x9fa0 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_SPECULATION_CTRL = 0x34 -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffffffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_SPECULATION_CTRL = 0x35 -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_SPEC_DISABLE = 0x4 -+ PR_SPEC_ENABLE = 0x2 -+ PR_SPEC_FORCE_DISABLE = 0x8 -+ PR_SPEC_INDIRECT_BRANCH = 0x1 -+ PR_SPEC_NOT_AFFECTED = 0x0 -+ PR_SPEC_PRCTL = 0x1 -+ PR_SPEC_STORE_BYPASS = 0x0 -+ PR_SVE_GET_VL = 0x33 -+ PR_SVE_SET_VL = 0x32 -+ PR_SVE_SET_VL_ONEXEC = 0x40000 -+ PR_SVE_VL_INHERIT = 0x20000 -+ PR_SVE_VL_LEN_MASK = 0xffff -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PSTOREFS_MAGIC = 0x6165676c -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SECCOMP_GET_METADATA = 0x420d -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ QNX4_SUPER_MAGIC = 0x2f -+ QNX6_SUPER_MAGIC = 0x68191122 -+ RAMFS_MAGIC = 0x858458f6 -+ RDTGROUP_SUPER_MAGIC = 0x7655821 -+ REISERFS_SUPER_MAGIC = 0x52654973 -+ RENAME_EXCHANGE = 0x2 -+ RENAME_NOREPLACE = 0x1 -+ RENAME_WHITEOUT = 0x4 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_LOCKS = 0xa -+ RLIMIT_MEMLOCK = 0x8 -+ RLIMIT_MSGQUEUE = 0xc -+ RLIMIT_NICE = 0xd -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_NPROC = 0x6 -+ RLIMIT_RSS = 0x5 -+ RLIMIT_RTPRIO = 0xe -+ RLIMIT_RTTIME = 0xf -+ RLIMIT_SIGPENDING = 0xb -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0xffffffffffffffff -+ RNDADDENTROPY = 0x40085203 -+ RNDADDTOENTCNT = 0x40045201 -+ RNDCLEARPOOL = 0x5206 -+ RNDGETENTCNT = 0x80045200 -+ RNDGETPOOL = 0x80085202 -+ RNDRESEEDCRNG = 0x5207 -+ RNDZAPENTCNT = 0x5204 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FASTOPEN_NO_COOKIE = 0x11 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x11 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x1d -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTC_AF = 0x20 -+ RTC_AIE_OFF = 0x7002 -+ RTC_AIE_ON = 0x7001 -+ RTC_ALM_READ = 0x80247008 -+ RTC_ALM_SET = 0x40247007 -+ RTC_EPOCH_READ = 0x8008700d -+ RTC_EPOCH_SET = 0x4008700e -+ RTC_IRQF = 0x80 -+ RTC_IRQP_READ = 0x8008700b -+ RTC_IRQP_SET = 0x4008700c -+ RTC_MAX_FREQ = 0x2000 -+ RTC_PF = 0x40 -+ RTC_PIE_OFF = 0x7006 -+ RTC_PIE_ON = 0x7005 -+ RTC_PLL_GET = 0x80207011 -+ RTC_PLL_SET = 0x40207012 -+ RTC_RD_TIME = 0x80247009 -+ RTC_SET_TIME = 0x4024700a -+ RTC_UF = 0x10 -+ RTC_UIE_OFF = 0x7004 -+ RTC_UIE_ON = 0x7003 -+ RTC_VL_CLR = 0x7014 -+ RTC_VL_READ = 0x80047013 -+ RTC_WIE_OFF = 0x7010 -+ RTC_WIE_ON = 0x700f -+ RTC_WKALM_RD = 0x80287010 -+ RTC_WKALM_SET = 0x4028700f -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELCHAIN = 0x65 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNETCONF = 0x51 -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_FIB_MATCH = 0x2000 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETCHAIN = 0x66 -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x67 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWCACHEREPORT = 0x60 -+ RTM_NEWCHAIN = 0x64 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x16 -+ RTM_NR_MSGTYPES = 0x58 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x19 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTNH_F_UNRESOLVED = 0x20 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BGP = 0xba -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_EIGRP = 0xc0 -+ RTPROT_GATED = 0x8 -+ RTPROT_ISIS = 0xbb -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_OSPF = 0xbc -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_RIP = 0xbd -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPING_OPT_STATS = 0x36 -+ SCM_TIMESTAMPING_PKTINFO = 0x3a -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_TXTIME = 0x3d -+ SCM_WIFI_STATUS = 0x29 -+ SC_LOG_FLUSH = 0x100000 -+ SECCOMP_MODE_DISABLED = 0x0 -+ SECCOMP_MODE_FILTER = 0x2 -+ SECCOMP_MODE_STRICT = 0x1 -+ SECURITYFS_MAGIC = 0x73636673 -+ SELINUX_MAGIC = 0xf97cff8c -+ SFD_CLOEXEC = 0x80000 -+ SFD_NONBLOCK = 0x800 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCBONDCHANGEACTIVE = 0x8995 -+ SIOCBONDENSLAVE = 0x8990 -+ SIOCBONDINFOQUERY = 0x8994 -+ SIOCBONDRELEASE = 0x8991 -+ SIOCBONDSETHWADDR = 0x8992 -+ SIOCBONDSLAVEINFOQUERY = 0x8993 -+ SIOCBRADDBR = 0x89a0 -+ SIOCBRADDIF = 0x89a2 -+ SIOCBRDELBR = 0x89a1 -+ SIOCBRDELIF = 0x89a3 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCETHTOOL = 0x8946 -+ SIOCGARP = 0x8954 -+ SIOCGHWTSTAMP = 0x89b1 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGIFVLAN = 0x8982 -+ SIOCGMIIPHY = 0x8947 -+ SIOCGMIIREG = 0x8948 -+ SIOCGPGRP = 0x8904 -+ SIOCGPPPCSTATS = 0x89f2 -+ SIOCGPPPSTATS = 0x89f0 -+ SIOCGPPPVER = 0x89f1 -+ SIOCGRARP = 0x8961 -+ SIOCGSKNS = 0x894c -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCINQ = 0x541b -+ SIOCOUTQ = 0x5411 -+ SIOCOUTQNSD = 0x894b -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSHWTSTAMP = 0x89b0 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSIFVLAN = 0x8983 -+ SIOCSMIIREG = 0x8949 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SIOCWANDEV = 0x894a -+ SMACK_MAGIC = 0x43415d53 -+ SMART_AUTOSAVE = 0xd2 -+ SMART_AUTO_OFFLINE = 0xdb -+ SMART_DISABLE = 0xd9 -+ SMART_ENABLE = 0xd8 -+ SMART_HCYL_PASS = 0xc2 -+ SMART_IMMEDIATE_OFFLINE = 0xd4 -+ SMART_LCYL_PASS = 0x4f -+ SMART_READ_LOG_SECTOR = 0xd5 -+ SMART_READ_THRESHOLDS = 0xd1 -+ SMART_READ_VALUES = 0xd0 -+ SMART_SAVE = 0xd3 -+ SMART_STATUS = 0xda -+ SMART_WRITE_LOG_SECTOR = 0xd6 -+ SMART_WRITE_THRESHOLDS = 0xd7 -+ SMB_SUPER_MAGIC = 0x517b -+ SOCKFS_MAGIC = 0x534f434b -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_IOC_TYPE = 0x89 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_CAN_BASE = 0x64 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_TLS = 0x11a -+ SOL_X25 = 0x106 -+ SOL_XDP = 0x11b -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x33 -+ SO_ATTACH_REUSEPORT_EBPF = 0x34 -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_CNX_ADVICE = 0x35 -+ SO_COOKIE = 0x39 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 -+ SO_EE_CODE_TXTIME_MISSED = 0x2 -+ SO_EE_CODE_ZEROCOPY_COPIED = 0x1 -+ SO_EE_ORIGIN_ICMP = 0x2 -+ SO_EE_ORIGIN_ICMP6 = 0x3 -+ SO_EE_ORIGIN_LOCAL = 0x1 -+ SO_EE_ORIGIN_NONE = 0x0 -+ SO_EE_ORIGIN_TIMESTAMPING = 0x4 -+ SO_EE_ORIGIN_TXSTATUS = 0x4 -+ SO_EE_ORIGIN_TXTIME = 0x6 -+ SO_EE_ORIGIN_ZEROCOPY = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_INCOMING_NAPI_ID = 0x38 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_MEMINFO = 0x37 -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERGROUPS = 0x3b -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TXTIME = 0x3d -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SO_ZEROCOPY = 0x3c -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ SQUASHFS_MAGIC = 0x73717368 -+ STACK_END_MAGIC = 0x57ac6e9d -+ STATX_ALL = 0xfff -+ STATX_ATIME = 0x20 -+ STATX_ATTR_APPEND = 0x20 -+ STATX_ATTR_AUTOMOUNT = 0x1000 -+ STATX_ATTR_COMPRESSED = 0x4 -+ STATX_ATTR_ENCRYPTED = 0x800 -+ STATX_ATTR_IMMUTABLE = 0x10 -+ STATX_ATTR_NODUMP = 0x40 -+ STATX_BASIC_STATS = 0x7ff -+ STATX_BLOCKS = 0x400 -+ STATX_BTIME = 0x800 -+ STATX_CTIME = 0x80 -+ STATX_GID = 0x10 -+ STATX_INO = 0x100 -+ STATX_MODE = 0x2 -+ STATX_MTIME = 0x40 -+ STATX_NLINK = 0x4 -+ STATX_SIZE = 0x200 -+ STATX_TYPE = 0x1 -+ STATX_UID = 0x8 -+ STATX__RESERVED = 0x80000000 -+ SYNC_FILE_RANGE_WAIT_AFTER = 0x4 -+ SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 -+ SYNC_FILE_RANGE_WRITE = 0x2 -+ SYSFS_MAGIC = 0x62656572 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TASKSTATS_CMD_ATTR_MAX = 0x4 -+ TASKSTATS_CMD_MAX = 0x2 -+ TASKSTATS_GENL_NAME = "TASKSTATS" -+ TASKSTATS_GENL_VERSION = 0x1 -+ TASKSTATS_TYPE_MAX = 0x6 -+ TASKSTATS_VERSION = 0x9 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CM_INQ = 0x24 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_FASTOPEN_CONNECT = 0x1e -+ TCP_FASTOPEN_KEY = 0x21 -+ TCP_FASTOPEN_NO_COOKIE = 0x22 -+ TCP_INFO = 0xb -+ TCP_INQ = 0x24 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_EXT = 0x20 -+ TCP_MD5SIG_FLAG_PREFIX = 0x1 -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OFF = 0x0 -+ TCP_REPAIR_OFF_NO_WP = -0x1 -+ TCP_REPAIR_ON = 0x1 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_REPAIR_WINDOW = 0x1d -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_ULP = 0x1f -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCP_ZEROCOPY_RECEIVE = 0x23 -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIMER_ABSTIME = 0x1 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGISO7816 = 0x80285442 -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGPTPEER = 0x5441 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSISO7816 = 0xc0285443 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TMPFS_MAGIC = 0x1021994 -+ TOSTOP = 0x100 -+ TPACKET_ALIGNMENT = 0x10 -+ TPACKET_HDRLEN = 0x34 -+ TP_STATUS_AVAILABLE = 0x0 -+ TP_STATUS_BLK_TMO = 0x20 -+ TP_STATUS_COPY = 0x2 -+ TP_STATUS_CSUMNOTREADY = 0x8 -+ TP_STATUS_CSUM_VALID = 0x80 -+ TP_STATUS_KERNEL = 0x0 -+ TP_STATUS_LOSING = 0x4 -+ TP_STATUS_SENDING = 0x2 -+ TP_STATUS_SEND_REQUEST = 0x1 -+ TP_STATUS_TS_RAW_HARDWARE = -0x80000000 -+ TP_STATUS_TS_SOFTWARE = 0x20000000 -+ TP_STATUS_TS_SYS_HARDWARE = 0x40000000 -+ TP_STATUS_USER = 0x1 -+ TP_STATUS_VLAN_TPID_VALID = 0x40 -+ TP_STATUS_VLAN_VALID = 0x10 -+ TP_STATUS_WRONG_FORMAT = 0x4 -+ TRACEFS_MAGIC = 0x74726163 -+ TS_COMM_LEN = 0x20 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETFILTEREBPF = 0x800454e1 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETSTEERINGEBPF = 0x800454e0 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETBE = 0x400454de -+ TUNSETVNETHDRSZ = 0x400454d8 -+ TUNSETVNETLE = 0x400454dc -+ UBI_IOCATT = 0x40186f40 -+ UBI_IOCDET = 0x40046f41 -+ UBI_IOCEBCH = 0x40044f02 -+ UBI_IOCEBER = 0x40044f01 -+ UBI_IOCEBISMAP = 0x80044f05 -+ UBI_IOCEBMAP = 0x40084f03 -+ UBI_IOCEBUNMAP = 0x40044f04 -+ UBI_IOCMKVOL = 0x40986f00 -+ UBI_IOCRMVOL = 0x40046f01 -+ UBI_IOCRNVOL = 0x51106f03 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCVOLCRBLK = 0x40804f07 -+ UBI_IOCVOLRMBLK = 0x4f08 -+ UBI_IOCVOLUP = 0x40084f00 -+ UDF_SUPER_MAGIC = 0x15013346 -+ UMOUNT_NOFOLLOW = 0x8 -+ USBDEVICE_SUPER_MAGIC = 0x9fa2 -+ UTIME_NOW = 0x3fffffff -+ UTIME_OMIT = 0x3ffffffe -+ V9FS_MAGIC = 0x1021997 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VM_SOCKETS_INVALID_VERSION = 0xffffffff -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WDIOC_GETBOOTSTATUS = 0x80045702 -+ WDIOC_GETPRETIMEOUT = 0x80045709 -+ WDIOC_GETSTATUS = 0x80045701 -+ WDIOC_GETSUPPORT = 0x80285700 -+ WDIOC_GETTEMP = 0x80045703 -+ WDIOC_GETTIMELEFT = 0x8004570a -+ WDIOC_GETTIMEOUT = 0x80045707 -+ WDIOC_KEEPALIVE = 0x80045705 -+ WDIOC_SETOPTIONS = 0x80045704 -+ WDIOC_SETPRETIMEOUT = 0xc0045708 -+ WDIOC_SETTIMEOUT = 0xc0045706 -+ WEXITED = 0x4 -+ WIN_ACKMEDIACHANGE = 0xdb -+ WIN_CHECKPOWERMODE1 = 0xe5 -+ WIN_CHECKPOWERMODE2 = 0x98 -+ WIN_DEVICE_RESET = 0x8 -+ WIN_DIAGNOSE = 0x90 -+ WIN_DOORLOCK = 0xde -+ WIN_DOORUNLOCK = 0xdf -+ WIN_DOWNLOAD_MICROCODE = 0x92 -+ WIN_FLUSH_CACHE = 0xe7 -+ WIN_FLUSH_CACHE_EXT = 0xea -+ WIN_FORMAT = 0x50 -+ WIN_GETMEDIASTATUS = 0xda -+ WIN_IDENTIFY = 0xec -+ WIN_IDENTIFY_DMA = 0xee -+ WIN_IDLEIMMEDIATE = 0xe1 -+ WIN_INIT = 0x60 -+ WIN_MEDIAEJECT = 0xed -+ WIN_MULTREAD = 0xc4 -+ WIN_MULTREAD_EXT = 0x29 -+ WIN_MULTWRITE = 0xc5 -+ WIN_MULTWRITE_EXT = 0x39 -+ WIN_NOP = 0x0 -+ WIN_PACKETCMD = 0xa0 -+ WIN_PIDENTIFY = 0xa1 -+ WIN_POSTBOOT = 0xdc -+ WIN_PREBOOT = 0xdd -+ WIN_QUEUED_SERVICE = 0xa2 -+ WIN_READ = 0x20 -+ WIN_READDMA = 0xc8 -+ WIN_READDMA_EXT = 0x25 -+ WIN_READDMA_ONCE = 0xc9 -+ WIN_READDMA_QUEUED = 0xc7 -+ WIN_READDMA_QUEUED_EXT = 0x26 -+ WIN_READ_BUFFER = 0xe4 -+ WIN_READ_EXT = 0x24 -+ WIN_READ_LONG = 0x22 -+ WIN_READ_LONG_ONCE = 0x23 -+ WIN_READ_NATIVE_MAX = 0xf8 -+ WIN_READ_NATIVE_MAX_EXT = 0x27 -+ WIN_READ_ONCE = 0x21 -+ WIN_RECAL = 0x10 -+ WIN_RESTORE = 0x10 -+ WIN_SECURITY_DISABLE = 0xf6 -+ WIN_SECURITY_ERASE_PREPARE = 0xf3 -+ WIN_SECURITY_ERASE_UNIT = 0xf4 -+ WIN_SECURITY_FREEZE_LOCK = 0xf5 -+ WIN_SECURITY_SET_PASS = 0xf1 -+ WIN_SECURITY_UNLOCK = 0xf2 -+ WIN_SEEK = 0x70 -+ WIN_SETFEATURES = 0xef -+ WIN_SETIDLE1 = 0xe3 -+ WIN_SETIDLE2 = 0x97 -+ WIN_SETMULT = 0xc6 -+ WIN_SET_MAX = 0xf9 -+ WIN_SET_MAX_EXT = 0x37 -+ WIN_SLEEPNOW1 = 0xe6 -+ WIN_SLEEPNOW2 = 0x99 -+ WIN_SMART = 0xb0 -+ WIN_SPECIFY = 0x91 -+ WIN_SRST = 0x8 -+ WIN_STANDBY = 0xe2 -+ WIN_STANDBY2 = 0x96 -+ WIN_STANDBYNOW1 = 0xe0 -+ WIN_STANDBYNOW2 = 0x94 -+ WIN_VERIFY = 0x40 -+ WIN_VERIFY_EXT = 0x42 -+ WIN_VERIFY_ONCE = 0x41 -+ WIN_WRITE = 0x30 -+ WIN_WRITEDMA = 0xca -+ WIN_WRITEDMA_EXT = 0x35 -+ WIN_WRITEDMA_ONCE = 0xcb -+ WIN_WRITEDMA_QUEUED = 0xcc -+ WIN_WRITEDMA_QUEUED_EXT = 0x36 -+ WIN_WRITE_BUFFER = 0xe8 -+ WIN_WRITE_EXT = 0x34 -+ WIN_WRITE_LONG = 0x32 -+ WIN_WRITE_LONG_ONCE = 0x33 -+ WIN_WRITE_ONCE = 0x31 -+ WIN_WRITE_SAME = 0xe9 -+ WIN_WRITE_VERIFY = 0x3c -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XATTR_CREATE = 0x1 -+ XATTR_REPLACE = 0x2 -+ XCASE = 0x4 -+ XDP_COPY = 0x2 -+ XDP_FLAGS_DRV_MODE = 0x4 -+ XDP_FLAGS_HW_MODE = 0x8 -+ XDP_FLAGS_MASK = 0xf -+ XDP_FLAGS_MODES = 0xe -+ XDP_FLAGS_SKB_MODE = 0x2 -+ XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 -+ XDP_MMAP_OFFSETS = 0x1 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RX_RING = 0x2 -+ XDP_SHARED_UMEM = 0x1 -+ XDP_STATISTICS = 0x7 -+ XDP_TX_RING = 0x3 -+ XDP_UMEM_COMPLETION_RING = 0x6 -+ XDP_UMEM_FILL_RING = 0x5 -+ XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 -+ XDP_UMEM_PGOFF_FILL_RING = 0x100000000 -+ XDP_UMEM_REG = 0x4 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ ZSMALLOC_MAGIC = 0x58295829 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errorList = [...]struct { -+ num syscall.Errno -+ name string -+ desc string -+}{ -+ {1, "EPERM", "operation not permitted"}, -+ {2, "ENOENT", "no such file or directory"}, -+ {3, "ESRCH", "no such process"}, -+ {4, "EINTR", "interrupted system call"}, -+ {5, "EIO", "input/output error"}, -+ {6, "ENXIO", "no such device or address"}, -+ {7, "E2BIG", "argument list too long"}, -+ {8, "ENOEXEC", "exec format error"}, -+ {9, "EBADF", "bad file descriptor"}, -+ {10, "ECHILD", "no child processes"}, -+ {11, "EAGAIN", "resource temporarily unavailable"}, -+ {12, "ENOMEM", "cannot allocate memory"}, -+ {13, "EACCES", "permission denied"}, -+ {14, "EFAULT", "bad address"}, -+ {15, "ENOTBLK", "block device required"}, -+ {16, "EBUSY", "device or resource busy"}, -+ {17, "EEXIST", "file exists"}, -+ {18, "EXDEV", "invalid cross-device link"}, -+ {19, "ENODEV", "no such device"}, -+ {20, "ENOTDIR", "not a directory"}, -+ {21, "EISDIR", "is a directory"}, -+ {22, "EINVAL", "invalid argument"}, -+ {23, "ENFILE", "too many open files in system"}, -+ {24, "EMFILE", "too many open files"}, -+ {25, "ENOTTY", "inappropriate ioctl for device"}, -+ {26, "ETXTBSY", "text file busy"}, -+ {27, "EFBIG", "file too large"}, -+ {28, "ENOSPC", "no space left on device"}, -+ {29, "ESPIPE", "illegal seek"}, -+ {30, "EROFS", "read-only file system"}, -+ {31, "EMLINK", "too many links"}, -+ {32, "EPIPE", "broken pipe"}, -+ {33, "EDOM", "numerical argument out of domain"}, -+ {34, "ERANGE", "numerical result out of range"}, -+ {35, "EDEADLK", "resource deadlock avoided"}, -+ {36, "ENAMETOOLONG", "file name too long"}, -+ {37, "ENOLCK", "no locks available"}, -+ {38, "ENOSYS", "function not implemented"}, -+ {39, "ENOTEMPTY", "directory not empty"}, -+ {40, "ELOOP", "too many levels of symbolic links"}, -+ {42, "ENOMSG", "no message of desired type"}, -+ {43, "EIDRM", "identifier removed"}, -+ {44, "ECHRNG", "channel number out of range"}, -+ {45, "EL2NSYNC", "level 2 not synchronized"}, -+ {46, "EL3HLT", "level 3 halted"}, -+ {47, "EL3RST", "level 3 reset"}, -+ {48, "ELNRNG", "link number out of range"}, -+ {49, "EUNATCH", "protocol driver not attached"}, -+ {50, "ENOCSI", "no CSI structure available"}, -+ {51, "EL2HLT", "level 2 halted"}, -+ {52, "EBADE", "invalid exchange"}, -+ {53, "EBADR", "invalid request descriptor"}, -+ {54, "EXFULL", "exchange full"}, -+ {55, "ENOANO", "no anode"}, -+ {56, "EBADRQC", "invalid request code"}, -+ {57, "EBADSLT", "invalid slot"}, -+ {59, "EBFONT", "bad font file format"}, -+ {60, "ENOSTR", "device not a stream"}, -+ {61, "ENODATA", "no data available"}, -+ {62, "ETIME", "timer expired"}, -+ {63, "ENOSR", "out of streams resources"}, -+ {64, "ENONET", "machine is not on the network"}, -+ {65, "ENOPKG", "package not installed"}, -+ {66, "EREMOTE", "object is remote"}, -+ {67, "ENOLINK", "link has been severed"}, -+ {68, "EADV", "advertise error"}, -+ {69, "ESRMNT", "srmount error"}, -+ {70, "ECOMM", "communication error on send"}, -+ {71, "EPROTO", "protocol error"}, -+ {72, "EMULTIHOP", "multihop attempted"}, -+ {73, "EDOTDOT", "RFS specific error"}, -+ {74, "EBADMSG", "bad message"}, -+ {75, "EOVERFLOW", "value too large for defined data type"}, -+ {76, "ENOTUNIQ", "name not unique on network"}, -+ {77, "EBADFD", "file descriptor in bad state"}, -+ {78, "EREMCHG", "remote address changed"}, -+ {79, "ELIBACC", "can not access a needed shared library"}, -+ {80, "ELIBBAD", "accessing a corrupted shared library"}, -+ {81, "ELIBSCN", ".lib section in a.out corrupted"}, -+ {82, "ELIBMAX", "attempting to link in too many shared libraries"}, -+ {83, "ELIBEXEC", "cannot exec a shared library directly"}, -+ {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, -+ {85, "ERESTART", "interrupted system call should be restarted"}, -+ {86, "ESTRPIPE", "streams pipe error"}, -+ {87, "EUSERS", "too many users"}, -+ {88, "ENOTSOCK", "socket operation on non-socket"}, -+ {89, "EDESTADDRREQ", "destination address required"}, -+ {90, "EMSGSIZE", "message too long"}, -+ {91, "EPROTOTYPE", "protocol wrong type for socket"}, -+ {92, "ENOPROTOOPT", "protocol not available"}, -+ {93, "EPROTONOSUPPORT", "protocol not supported"}, -+ {94, "ESOCKTNOSUPPORT", "socket type not supported"}, -+ {95, "ENOTSUP", "operation not supported"}, -+ {96, "EPFNOSUPPORT", "protocol family not supported"}, -+ {97, "EAFNOSUPPORT", "address family not supported by protocol"}, -+ {98, "EADDRINUSE", "address already in use"}, -+ {99, "EADDRNOTAVAIL", "cannot assign requested address"}, -+ {100, "ENETDOWN", "network is down"}, -+ {101, "ENETUNREACH", "network is unreachable"}, -+ {102, "ENETRESET", "network dropped connection on reset"}, -+ {103, "ECONNABORTED", "software caused connection abort"}, -+ {104, "ECONNRESET", "connection reset by peer"}, -+ {105, "ENOBUFS", "no buffer space available"}, -+ {106, "EISCONN", "transport endpoint is already connected"}, -+ {107, "ENOTCONN", "transport endpoint is not connected"}, -+ {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, -+ {109, "ETOOMANYREFS", "too many references: cannot splice"}, -+ {110, "ETIMEDOUT", "connection timed out"}, -+ {111, "ECONNREFUSED", "connection refused"}, -+ {112, "EHOSTDOWN", "host is down"}, -+ {113, "EHOSTUNREACH", "no route to host"}, -+ {114, "EALREADY", "operation already in progress"}, -+ {115, "EINPROGRESS", "operation now in progress"}, -+ {116, "ESTALE", "stale file handle"}, -+ {117, "EUCLEAN", "structure needs cleaning"}, -+ {118, "ENOTNAM", "not a XENIX named type file"}, -+ {119, "ENAVAIL", "no XENIX semaphores available"}, -+ {120, "EISNAM", "is a named type file"}, -+ {121, "EREMOTEIO", "remote I/O error"}, -+ {122, "EDQUOT", "disk quota exceeded"}, -+ {123, "ENOMEDIUM", "no medium found"}, -+ {124, "EMEDIUMTYPE", "wrong medium type"}, -+ {125, "ECANCELED", "operation canceled"}, -+ {126, "ENOKEY", "required key not available"}, -+ {127, "EKEYEXPIRED", "key has expired"}, -+ {128, "EKEYREVOKED", "key has been revoked"}, -+ {129, "EKEYREJECTED", "key was rejected by service"}, -+ {130, "EOWNERDEAD", "owner died"}, -+ {131, "ENOTRECOVERABLE", "state not recoverable"}, -+ {132, "ERFKILL", "operation not possible due to RF-kill"}, -+ {133, "EHWPOISON", "memory page has hardware error"}, -+} -+ -+// Signal table -+var signalList = [...]struct { -+ num syscall.Signal -+ name string -+ desc string -+}{ -+ {1, "SIGHUP", "hangup"}, -+ {2, "SIGINT", "interrupt"}, -+ {3, "SIGQUIT", "quit"}, -+ {4, "SIGILL", "illegal instruction"}, -+ {5, "SIGTRAP", "trace/breakpoint trap"}, -+ {6, "SIGABRT", "aborted"}, -+ {7, "SIGBUS", "bus error"}, -+ {8, "SIGFPE", "floating point exception"}, -+ {9, "SIGKILL", "killed"}, -+ {10, "SIGUSR1", "user defined signal 1"}, -+ {11, "SIGSEGV", "segmentation fault"}, -+ {12, "SIGUSR2", "user defined signal 2"}, -+ {13, "SIGPIPE", "broken pipe"}, -+ {14, "SIGALRM", "alarm clock"}, -+ {15, "SIGTERM", "terminated"}, -+ {16, "SIGSTKFLT", "stack fault"}, -+ {17, "SIGCHLD", "child exited"}, -+ {18, "SIGCONT", "continued"}, -+ {19, "SIGSTOP", "stopped (signal)"}, -+ {20, "SIGTSTP", "stopped"}, -+ {21, "SIGTTIN", "stopped (tty input)"}, -+ {22, "SIGTTOU", "stopped (tty output)"}, -+ {23, "SIGURG", "urgent I/O condition"}, -+ {24, "SIGXCPU", "CPU time limit exceeded"}, -+ {25, "SIGXFSZ", "file size limit exceeded"}, -+ {26, "SIGVTALRM", "virtual timer expired"}, -+ {27, "SIGPROF", "profiling timer expired"}, -+ {28, "SIGWINCH", "window changed"}, -+ {29, "SIGIO", "I/O possible"}, -+ {30, "SIGPWR", "power failure"}, -+ {31, "SIGSYS", "bad system call"}, -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -new file mode 100644 -index 0000000..15d33e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -@@ -0,0 +1,2217 @@ -+// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build linux,riscv64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { -+ _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ioctl(fd int, req uint, arg uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlJoin(cmd int, arg2 string) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg2) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg3) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(arg4) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(payload) > 0 { -+ _p0 = unsafe.Pointer(&payload[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(description) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(payload) > 0 { -+ _p2 = unsafe.Pointer(&payload[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) -+ id = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGetres(clockid int32, res *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { -+ _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func DeleteModule(name string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Eventfd(initval uint, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func FinitModule(fd int, params string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(params) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flistxattr(fd int, dest []byte) (sz int, err error) { -+ var _p0 unsafe.Pointer -+ if len(dest) > 0 { -+ _p0 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fremovexattr(fd int, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0,_,_:=RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid=int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InitModule(moduleImage []byte, params string) (err error) { -+ var _p0 unsafe.Pointer -+ if len(moduleImage) > 0 { -+ _p0 = unsafe.Pointer(&moduleImage[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(params) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Llistxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lremovexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func MemfdCreate(name string, flags int) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(description) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(callback) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) -+ id = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Syncfs(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Msync(b []byte, flags int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(cmdline) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -new file mode 100644 -index 0000000..38868fe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -@@ -0,0 +1,289 @@ -+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+package unix -+ -+const ( -+ SYS_IO_SETUP = 0 -+ SYS_IO_DESTROY = 1 -+ SYS_IO_SUBMIT = 2 -+ SYS_IO_CANCEL = 3 -+ SYS_IO_GETEVENTS = 4 -+ SYS_SETXATTR = 5 -+ SYS_LSETXATTR = 6 -+ SYS_FSETXATTR = 7 -+ SYS_GETXATTR = 8 -+ SYS_LGETXATTR = 9 -+ SYS_FGETXATTR = 10 -+ SYS_LISTXATTR = 11 -+ SYS_LLISTXATTR = 12 -+ SYS_FLISTXATTR = 13 -+ SYS_REMOVEXATTR = 14 -+ SYS_LREMOVEXATTR = 15 -+ SYS_FREMOVEXATTR = 16 -+ SYS_GETCWD = 17 -+ SYS_LOOKUP_DCOOKIE = 18 -+ SYS_EVENTFD2 = 19 -+ SYS_EPOLL_CREATE1 = 20 -+ SYS_EPOLL_CTL = 21 -+ SYS_EPOLL_PWAIT = 22 -+ SYS_DUP = 23 -+ SYS_DUP3 = 24 -+ SYS_FCNTL = 25 -+ SYS_INOTIFY_INIT1 = 26 -+ SYS_INOTIFY_ADD_WATCH = 27 -+ SYS_INOTIFY_RM_WATCH = 28 -+ SYS_IOCTL = 29 -+ SYS_IOPRIO_SET = 30 -+ SYS_IOPRIO_GET = 31 -+ SYS_FLOCK = 32 -+ SYS_MKNODAT = 33 -+ SYS_MKDIRAT = 34 -+ SYS_UNLINKAT = 35 -+ SYS_SYMLINKAT = 36 -+ SYS_LINKAT = 37 -+ SYS_UMOUNT2 = 39 -+ SYS_MOUNT = 40 -+ SYS_PIVOT_ROOT = 41 -+ SYS_NFSSERVCTL = 42 -+ SYS_STATFS = 43 -+ SYS_FSTATFS = 44 -+ SYS_TRUNCATE = 45 -+ SYS_FTRUNCATE = 46 -+ SYS_FALLOCATE = 47 -+ SYS_FACCESSAT = 48 -+ SYS_CHDIR = 49 -+ SYS_FCHDIR = 50 -+ SYS_CHROOT = 51 -+ SYS_FCHMOD = 52 -+ SYS_FCHMODAT = 53 -+ SYS_FCHOWNAT = 54 -+ SYS_FCHOWN = 55 -+ SYS_OPENAT = 56 -+ SYS_CLOSE = 57 -+ SYS_VHANGUP = 58 -+ SYS_PIPE2 = 59 -+ SYS_QUOTACTL = 60 -+ SYS_GETDENTS64 = 61 -+ SYS_LSEEK = 62 -+ SYS_READ = 63 -+ SYS_WRITE = 64 -+ SYS_READV = 65 -+ SYS_WRITEV = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_PREADV = 69 -+ SYS_PWRITEV = 70 -+ SYS_SENDFILE = 71 -+ SYS_PSELECT6 = 72 -+ SYS_PPOLL = 73 -+ SYS_SIGNALFD4 = 74 -+ SYS_VMSPLICE = 75 -+ SYS_SPLICE = 76 -+ SYS_TEE = 77 -+ SYS_READLINKAT = 78 -+ SYS_FSTATAT = 79 -+ SYS_FSTAT = 80 -+ SYS_SYNC = 81 -+ SYS_FSYNC = 82 -+ SYS_FDATASYNC = 83 -+ SYS_SYNC_FILE_RANGE = 84 -+ SYS_TIMERFD_CREATE = 85 -+ SYS_TIMERFD_SETTIME = 86 -+ SYS_TIMERFD_GETTIME = 87 -+ SYS_UTIMENSAT = 88 -+ SYS_ACCT = 89 -+ SYS_CAPGET = 90 -+ SYS_CAPSET = 91 -+ SYS_PERSONALITY = 92 -+ SYS_EXIT = 93 -+ SYS_EXIT_GROUP = 94 -+ SYS_WAITID = 95 -+ SYS_SET_TID_ADDRESS = 96 -+ SYS_UNSHARE = 97 -+ SYS_FUTEX = 98 -+ SYS_SET_ROBUST_LIST = 99 -+ SYS_GET_ROBUST_LIST = 100 -+ SYS_NANOSLEEP = 101 -+ SYS_GETITIMER = 102 -+ SYS_SETITIMER = 103 -+ SYS_KEXEC_LOAD = 104 -+ SYS_INIT_MODULE = 105 -+ SYS_DELETE_MODULE = 106 -+ SYS_TIMER_CREATE = 107 -+ SYS_TIMER_GETTIME = 108 -+ SYS_TIMER_GETOVERRUN = 109 -+ SYS_TIMER_SETTIME = 110 -+ SYS_TIMER_DELETE = 111 -+ SYS_CLOCK_SETTIME = 112 -+ SYS_CLOCK_GETTIME = 113 -+ SYS_CLOCK_GETRES = 114 -+ SYS_CLOCK_NANOSLEEP = 115 -+ SYS_SYSLOG = 116 -+ SYS_PTRACE = 117 -+ SYS_SCHED_SETPARAM = 118 -+ SYS_SCHED_SETSCHEDULER = 119 -+ SYS_SCHED_GETSCHEDULER = 120 -+ SYS_SCHED_GETPARAM = 121 -+ SYS_SCHED_SETAFFINITY = 122 -+ SYS_SCHED_GETAFFINITY = 123 -+ SYS_SCHED_YIELD = 124 -+ SYS_SCHED_GET_PRIORITY_MAX = 125 -+ SYS_SCHED_GET_PRIORITY_MIN = 126 -+ SYS_SCHED_RR_GET_INTERVAL = 127 -+ SYS_RESTART_SYSCALL = 128 -+ SYS_KILL = 129 -+ SYS_TKILL = 130 -+ SYS_TGKILL = 131 -+ SYS_SIGALTSTACK = 132 -+ SYS_RT_SIGSUSPEND = 133 -+ SYS_RT_SIGACTION = 134 -+ SYS_RT_SIGPROCMASK = 135 -+ SYS_RT_SIGPENDING = 136 -+ SYS_RT_SIGTIMEDWAIT = 137 -+ SYS_RT_SIGQUEUEINFO = 138 -+ SYS_RT_SIGRETURN = 139 -+ SYS_SETPRIORITY = 140 -+ SYS_GETPRIORITY = 141 -+ SYS_REBOOT = 142 -+ SYS_SETREGID = 143 -+ SYS_SETGID = 144 -+ SYS_SETREUID = 145 -+ SYS_SETUID = 146 -+ SYS_SETRESUID = 147 -+ SYS_GETRESUID = 148 -+ SYS_SETRESGID = 149 -+ SYS_GETRESGID = 150 -+ SYS_SETFSUID = 151 -+ SYS_SETFSGID = 152 -+ SYS_TIMES = 153 -+ SYS_SETPGID = 154 -+ SYS_GETPGID = 155 -+ SYS_GETSID = 156 -+ SYS_SETSID = 157 -+ SYS_GETGROUPS = 158 -+ SYS_SETGROUPS = 159 -+ SYS_UNAME = 160 -+ SYS_SETHOSTNAME = 161 -+ SYS_SETDOMAINNAME = 162 -+ SYS_GETRLIMIT = 163 -+ SYS_SETRLIMIT = 164 -+ SYS_GETRUSAGE = 165 -+ SYS_UMASK = 166 -+ SYS_PRCTL = 167 -+ SYS_GETCPU = 168 -+ SYS_GETTIMEOFDAY = 169 -+ SYS_SETTIMEOFDAY = 170 -+ SYS_ADJTIMEX = 171 -+ SYS_GETPID = 172 -+ SYS_GETPPID = 173 -+ SYS_GETUID = 174 -+ SYS_GETEUID = 175 -+ SYS_GETGID = 176 -+ SYS_GETEGID = 177 -+ SYS_GETTID = 178 -+ SYS_SYSINFO = 179 -+ SYS_MQ_OPEN = 180 -+ SYS_MQ_UNLINK = 181 -+ SYS_MQ_TIMEDSEND = 182 -+ SYS_MQ_TIMEDRECEIVE = 183 -+ SYS_MQ_NOTIFY = 184 -+ SYS_MQ_GETSETATTR = 185 -+ SYS_MSGGET = 186 -+ SYS_MSGCTL = 187 -+ SYS_MSGRCV = 188 -+ SYS_MSGSND = 189 -+ SYS_SEMGET = 190 -+ SYS_SEMCTL = 191 -+ SYS_SEMTIMEDOP = 192 -+ SYS_SEMOP = 193 -+ SYS_SHMGET = 194 -+ SYS_SHMCTL = 195 -+ SYS_SHMAT = 196 -+ SYS_SHMDT = 197 -+ SYS_SOCKET = 198 -+ SYS_SOCKETPAIR = 199 -+ SYS_BIND = 200 -+ SYS_LISTEN = 201 -+ SYS_ACCEPT = 202 -+ SYS_CONNECT = 203 -+ SYS_GETSOCKNAME = 204 -+ SYS_GETPEERNAME = 205 -+ SYS_SENDTO = 206 -+ SYS_RECVFROM = 207 -+ SYS_SETSOCKOPT = 208 -+ SYS_GETSOCKOPT = 209 -+ SYS_SHUTDOWN = 210 -+ SYS_SENDMSG = 211 -+ SYS_RECVMSG = 212 -+ SYS_READAHEAD = 213 -+ SYS_BRK = 214 -+ SYS_MUNMAP = 215 -+ SYS_MREMAP = 216 -+ SYS_ADD_KEY = 217 -+ SYS_REQUEST_KEY = 218 -+ SYS_KEYCTL = 219 -+ SYS_CLONE = 220 -+ SYS_EXECVE = 221 -+ SYS_MMAP = 222 -+ SYS_FADVISE64 = 223 -+ SYS_SWAPON = 224 -+ SYS_SWAPOFF = 225 -+ SYS_MPROTECT = 226 -+ SYS_MSYNC = 227 -+ SYS_MLOCK = 228 -+ SYS_MUNLOCK = 229 -+ SYS_MLOCKALL = 230 -+ SYS_MUNLOCKALL = 231 -+ SYS_MINCORE = 232 -+ SYS_MADVISE = 233 -+ SYS_REMAP_FILE_PAGES = 234 -+ SYS_MBIND = 235 -+ SYS_GET_MEMPOLICY = 236 -+ SYS_SET_MEMPOLICY = 237 -+ SYS_MIGRATE_PAGES = 238 -+ SYS_MOVE_PAGES = 239 -+ SYS_RT_TGSIGQUEUEINFO = 240 -+ SYS_PERF_EVENT_OPEN = 241 -+ SYS_ACCEPT4 = 242 -+ SYS_RECVMMSG = 243 -+ SYS_ARCH_SPECIFIC_SYSCALL = 244 -+ SYS_WAIT4 = 260 -+ SYS_PRLIMIT64 = 261 -+ SYS_FANOTIFY_INIT = 262 -+ SYS_FANOTIFY_MARK = 263 -+ SYS_NAME_TO_HANDLE_AT = 264 -+ SYS_OPEN_BY_HANDLE_AT = 265 -+ SYS_CLOCK_ADJTIME = 266 -+ SYS_SYNCFS = 267 -+ SYS_SETNS = 268 -+ SYS_SENDMMSG = 269 -+ SYS_PROCESS_VM_READV = 270 -+ SYS_PROCESS_VM_WRITEV = 271 -+ SYS_KCMP = 272 -+ SYS_FINIT_MODULE = 273 -+ SYS_SCHED_SETATTR = 274 -+ SYS_SCHED_GETATTR = 275 -+ SYS_RENAMEAT2 = 276 -+ SYS_SECCOMP = 277 -+ SYS_GETRANDOM = 278 -+ SYS_MEMFD_CREATE = 279 -+ SYS_BPF = 280 -+ SYS_EXECVEAT = 281 -+ SYS_USERFAULTFD = 282 -+ SYS_MEMBARRIER = 283 -+ SYS_MLOCK2 = 284 -+ SYS_COPY_FILE_RANGE = 285 -+ SYS_PREADV2 = 286 -+ SYS_PWRITEV2 = 287 -+ SYS_PKEY_MPROTECT = 288 -+ SYS_PKEY_ALLOC = 289 -+ SYS_PKEY_FREE = 290 -+ SYS_STATX = 291 -+ SYS_IO_PGETEVENTS = 292 -+ SYS_RSEQ = 293 -+ SYS_KEXEC_FILE_LOAD = 294 -+ SYS_FUTIMESAT = 295 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -new file mode 100644 -index 0000000..c37e476 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -@@ -0,0 +1,2334 @@ -+// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ _ [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ _ uint64 -+ Size int64 -+ Blksize int32 -+ _ int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ _ [2]int32 -+} -+ -+type StatxTimestamp struct { -+ Sec int64 -+ Nsec uint32 -+ _ int32 -+} -+ -+type Statx_t struct { -+ Mask uint32 -+ Blksize uint32 -+ Attributes uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Mode uint16 -+ _ [1]uint16 -+ Ino uint64 -+ Size uint64 -+ Blocks uint64 -+ Attributes_mask uint64 -+ Atime StatxTimestamp -+ Btime StatxTimestamp -+ Ctime StatxTimestamp -+ Mtime StatxTimestamp -+ Rdev_major uint32 -+ Rdev_minor uint32 -+ Dev_major uint32 -+ Dev_minor uint32 -+ _ [14]uint64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ _ [5]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Start int64 -+ Len int64 -+ Pid int32 -+ _ [4]byte -+} -+ -+type FscryptPolicy struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptKey struct { -+ Mode uint32 -+ Raw [64]uint8 -+ Size uint32 -+} -+ -+type KeyctlDHParams struct { -+ Private int32 -+ Prime int32 -+ Base int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrL2 struct { -+ Family uint16 -+ Psm uint16 -+ Bdaddr [6]uint8 -+ Cid uint16 -+ Bdaddr_type uint8 -+ _ [1]byte -+} -+ -+type RawSockaddrRFCOMM struct { -+ Family uint16 -+ Bdaddr [6]uint8 -+ Channel uint8 -+ _ [1]byte -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddrXDP struct { -+ Family uint16 -+ Flags uint16 -+ Ifindex uint32 -+ Queue_id uint32 -+ Shared_umem_fd uint32 -+} -+ -+type RawSockaddrPPPoX [0x1e]byte -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type PacketMreq struct { -+ Ifindex int32 -+ Type uint16 -+ Alen uint16 -+ Address [8]uint8 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ _ [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+type CanFilter struct { -+ Id uint32 -+ Mask uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrL2 = 0xe -+ SizeofSockaddrRFCOMM = 0xa -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofSockaddrXDP = 0x10 -+ SizeofSockaddrPPPoX = 0x1e -+ SizeofLinger = 0x8 -+ SizeofIovec = 0x10 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofPacketMreq = 0x10 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+ SizeofCanFilter = 0x8 -+) -+ -+const ( -+ NDA_UNSPEC = 0x0 -+ NDA_DST = 0x1 -+ NDA_LLADDR = 0x2 -+ NDA_CACHEINFO = 0x3 -+ NDA_PROBES = 0x4 -+ NDA_VLAN = 0x5 -+ NDA_PORT = 0x6 -+ NDA_VNI = 0x7 -+ NDA_IFINDEX = 0x8 -+ NDA_MASTER = 0x9 -+ NDA_LINK_NETNSID = 0xa -+ NDA_SRC_VNI = 0xb -+ NTF_USE = 0x1 -+ NTF_SELF = 0x2 -+ NTF_MASTER = 0x4 -+ NTF_PROXY = 0x8 -+ NTF_EXT_LEARNED = 0x10 -+ NTF_OFFLOADED = 0x20 -+ NTF_ROUTER = 0x80 -+ NUD_INCOMPLETE = 0x1 -+ NUD_REACHABLE = 0x2 -+ NUD_STALE = 0x4 -+ NUD_DELAY = 0x8 -+ NUD_PROBE = 0x10 -+ NUD_FAILED = 0x20 -+ NUD_NOARP = 0x40 -+ NUD_PERMANENT = 0x80 -+ NUD_NONE = 0x0 -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFA_FLAGS = 0x8 -+ IFA_RT_PRIORITY = 0x9 -+ IFA_TARGET_NETNSID = 0xa -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_NUM_VF = 0x15 -+ IFLA_VFINFO_LIST = 0x16 -+ IFLA_STATS64 = 0x17 -+ IFLA_VF_PORTS = 0x18 -+ IFLA_PORT_SELF = 0x19 -+ IFLA_AF_SPEC = 0x1a -+ IFLA_GROUP = 0x1b -+ IFLA_NET_NS_FD = 0x1c -+ IFLA_EXT_MASK = 0x1d -+ IFLA_PROMISCUITY = 0x1e -+ IFLA_NUM_TX_QUEUES = 0x1f -+ IFLA_NUM_RX_QUEUES = 0x20 -+ IFLA_CARRIER = 0x21 -+ IFLA_PHYS_PORT_ID = 0x22 -+ IFLA_CARRIER_CHANGES = 0x23 -+ IFLA_PHYS_SWITCH_ID = 0x24 -+ IFLA_LINK_NETNSID = 0x25 -+ IFLA_PHYS_PORT_NAME = 0x26 -+ IFLA_PROTO_DOWN = 0x27 -+ IFLA_GSO_MAX_SEGS = 0x28 -+ IFLA_GSO_MAX_SIZE = 0x29 -+ IFLA_PAD = 0x2a -+ IFLA_XDP = 0x2b -+ IFLA_EVENT = 0x2c -+ IFLA_NEW_NETNSID = 0x2d -+ IFLA_IF_NETNSID = 0x2e -+ IFLA_TARGET_NETNSID = 0x2e -+ IFLA_CARRIER_UP_COUNT = 0x2f -+ IFLA_CARRIER_DOWN_COUNT = 0x30 -+ IFLA_NEW_IFINDEX = 0x31 -+ IFLA_MIN_MTU = 0x32 -+ IFLA_MAX_MTU = 0x33 -+ IFLA_MAX = 0x33 -+ IFLA_INFO_KIND = 0x1 -+ IFLA_INFO_DATA = 0x2 -+ IFLA_INFO_XSTATS = 0x3 -+ IFLA_INFO_SLAVE_KIND = 0x4 -+ IFLA_INFO_SLAVE_DATA = 0x5 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTA_MARK = 0x10 -+ RTA_MFC_STATS = 0x11 -+ RTA_VIA = 0x12 -+ RTA_NEWDST = 0x13 -+ RTA_PREF = 0x14 -+ RTA_ENCAP_TYPE = 0x15 -+ RTA_ENCAP = 0x16 -+ RTA_EXPIRES = 0x17 -+ RTA_PAD = 0x18 -+ RTA_UID = 0x19 -+ RTA_TTL_PROPAGATE = 0x1a -+ RTA_IP_PROTO = 0x1b -+ RTA_SPORT = 0x1c -+ RTA_DPORT = 0x1d -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+ SizeofNdUseroptmsg = 0x10 -+ SizeofNdMsg = 0xc -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ _ uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+type NdUseroptmsg struct { -+ Family uint8 -+ Pad1 uint8 -+ Opts_len uint16 -+ Ifindex int32 -+ Icmp_type uint8 -+ Icmp_code uint8 -+ Pad2 uint16 -+ Pad3 uint32 -+} -+ -+type NdMsg struct { -+ Family uint8 -+ Pad1 uint8 -+ Pad2 uint16 -+ Ifindex int32 -+ State uint16 -+ Flags uint8 -+ Type uint8 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Pc uint64 -+ Ra uint64 -+ Sp uint64 -+ Gp uint64 -+ Tp uint64 -+ T0 uint64 -+ T1 uint64 -+ T2 uint64 -+ S0 uint64 -+ S1 uint64 -+ A0 uint64 -+ A1 uint64 -+ A2 uint64 -+ A3 uint64 -+ A4 uint64 -+ A5 uint64 -+ A6 uint64 -+ A7 uint64 -+ S2 uint64 -+ S3 uint64 -+ S4 uint64 -+ S5 uint64 -+ S6 uint64 -+ S7 uint64 -+ S8 uint64 -+ S9 uint64 -+ S10 uint64 -+ S11 uint64 -+ T3 uint64 -+ T4 uint64 -+ T5 uint64 -+ T6 uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ _ [0]uint8 -+ _ [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]byte -+ Nodename [65]byte -+ Release [65]byte -+ Version [65]byte -+ Machine [65]byte -+ Domainname [65]byte -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ _ [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_EMPTY_PATH = 0x1000 -+ AT_FDCWD = -0x64 -+ AT_NO_AUTOMOUNT = 0x800 -+ AT_REMOVEDIR = 0x200 -+ -+ AT_STATX_SYNC_AS_STAT = 0x0 -+ AT_STATX_FORCE_SYNC = 0x2000 -+ AT_STATX_DONT_SYNC = 0x4000 -+ -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+ -+ AT_EACCESS = 0x200 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ Val [16]uint64 -+} -+ -+type SignalfdSiginfo struct { -+ Signo uint32 -+ Errno int32 -+ Code int32 -+ Pid uint32 -+ Uid uint32 -+ Fd int32 -+ Tid uint32 -+ Band uint32 -+ Overrun uint32 -+ Trapno uint32 -+ Status int32 -+ Int int32 -+ Ptr uint64 -+ Utime uint64 -+ Stime uint64 -+ Addr uint64 -+ Addr_lsb uint16 -+ _ uint16 -+ Syscall int32 -+ Call_addr uint64 -+ Arch uint32 -+ _ [28]uint8 -+} -+ -+const PERF_IOC_FLAG_GROUP = 0x1 -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -+ -+type Winsize struct { -+ Row uint16 -+ Col uint16 -+ Xpixel uint16 -+ Ypixel uint16 -+} -+ -+type Taskstats struct { -+ Version uint16 -+ Ac_exitcode uint32 -+ Ac_flag uint8 -+ Ac_nice uint8 -+ Cpu_count uint64 -+ Cpu_delay_total uint64 -+ Blkio_count uint64 -+ Blkio_delay_total uint64 -+ Swapin_count uint64 -+ Swapin_delay_total uint64 -+ Cpu_run_real_total uint64 -+ Cpu_run_virtual_total uint64 -+ Ac_comm [32]uint8 -+ Ac_sched uint8 -+ Ac_pad [3]uint8 -+ _ [4]byte -+ Ac_uid uint32 -+ Ac_gid uint32 -+ Ac_pid uint32 -+ Ac_ppid uint32 -+ Ac_btime uint32 -+ Ac_etime uint64 -+ Ac_utime uint64 -+ Ac_stime uint64 -+ Ac_minflt uint64 -+ Ac_majflt uint64 -+ Coremem uint64 -+ Virtmem uint64 -+ Hiwater_rss uint64 -+ Hiwater_vm uint64 -+ Read_char uint64 -+ Write_char uint64 -+ Read_syscalls uint64 -+ Write_syscalls uint64 -+ Read_bytes uint64 -+ Write_bytes uint64 -+ Cancelled_write_bytes uint64 -+ Nvcsw uint64 -+ Nivcsw uint64 -+ Ac_utimescaled uint64 -+ Ac_stimescaled uint64 -+ Cpu_scaled_run_real_total uint64 -+ Freepages_count uint64 -+ Freepages_delay_total uint64 -+ Thrashing_count uint64 -+ Thrashing_delay_total uint64 -+} -+ -+const ( -+ TASKSTATS_CMD_UNSPEC = 0x0 -+ TASKSTATS_CMD_GET = 0x1 -+ TASKSTATS_CMD_NEW = 0x2 -+ TASKSTATS_TYPE_UNSPEC = 0x0 -+ TASKSTATS_TYPE_PID = 0x1 -+ TASKSTATS_TYPE_TGID = 0x2 -+ TASKSTATS_TYPE_STATS = 0x3 -+ TASKSTATS_TYPE_AGGR_PID = 0x4 -+ TASKSTATS_TYPE_AGGR_TGID = 0x5 -+ TASKSTATS_TYPE_NULL = 0x6 -+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0 -+ TASKSTATS_CMD_ATTR_PID = 0x1 -+ TASKSTATS_CMD_ATTR_TGID = 0x2 -+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 -+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 -+) -+ -+type CGroupStats struct { -+ Sleeping uint64 -+ Running uint64 -+ Stopped uint64 -+ Uninterruptible uint64 -+ Io_wait uint64 -+} -+ -+const ( -+ CGROUPSTATS_CMD_UNSPEC = 0x3 -+ CGROUPSTATS_CMD_GET = 0x4 -+ CGROUPSTATS_CMD_NEW = 0x5 -+ CGROUPSTATS_TYPE_UNSPEC = 0x0 -+ CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 -+ CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 -+ CGROUPSTATS_CMD_ATTR_FD = 0x1 -+) -+ -+type Genlmsghdr struct { -+ Cmd uint8 -+ Version uint8 -+ Reserved uint16 -+} -+ -+const ( -+ CTRL_CMD_UNSPEC = 0x0 -+ CTRL_CMD_NEWFAMILY = 0x1 -+ CTRL_CMD_DELFAMILY = 0x2 -+ CTRL_CMD_GETFAMILY = 0x3 -+ CTRL_CMD_NEWOPS = 0x4 -+ CTRL_CMD_DELOPS = 0x5 -+ CTRL_CMD_GETOPS = 0x6 -+ CTRL_CMD_NEWMCAST_GRP = 0x7 -+ CTRL_CMD_DELMCAST_GRP = 0x8 -+ CTRL_CMD_GETMCAST_GRP = 0x9 -+ CTRL_ATTR_UNSPEC = 0x0 -+ CTRL_ATTR_FAMILY_ID = 0x1 -+ CTRL_ATTR_FAMILY_NAME = 0x2 -+ CTRL_ATTR_VERSION = 0x3 -+ CTRL_ATTR_HDRSIZE = 0x4 -+ CTRL_ATTR_MAXATTR = 0x5 -+ CTRL_ATTR_OPS = 0x6 -+ CTRL_ATTR_MCAST_GROUPS = 0x7 -+ CTRL_ATTR_OP_UNSPEC = 0x0 -+ CTRL_ATTR_OP_ID = 0x1 -+ CTRL_ATTR_OP_FLAGS = 0x2 -+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 -+ CTRL_ATTR_MCAST_GRP_NAME = 0x1 -+ CTRL_ATTR_MCAST_GRP_ID = 0x2 -+) -+ -+type cpuMask uint64 -+ -+const ( -+ _CPU_SETSIZE = 0x400 -+ _NCPUBITS = 0x40 -+) -+ -+const ( -+ BDADDR_BREDR = 0x0 -+ BDADDR_LE_PUBLIC = 0x1 -+ BDADDR_LE_RANDOM = 0x2 -+) -+ -+type PerfEventAttr struct { -+ Type uint32 -+ Size uint32 -+ Config uint64 -+ Sample uint64 -+ Sample_type uint64 -+ Read_format uint64 -+ Bits uint64 -+ Wakeup uint32 -+ Bp_type uint32 -+ Ext1 uint64 -+ Ext2 uint64 -+ Branch_sample_type uint64 -+ Sample_regs_user uint64 -+ Sample_stack_user uint32 -+ Clockid int32 -+ Sample_regs_intr uint64 -+ Aux_watermark uint32 -+ Sample_max_stack uint16 -+ _ uint16 -+} -+ -+type PerfEventMmapPage struct { -+ Version uint32 -+ Compat_version uint32 -+ Lock uint32 -+ Index uint32 -+ Offset int64 -+ Time_enabled uint64 -+ Time_running uint64 -+ Capabilities uint64 -+ Pmc_width uint16 -+ Time_shift uint16 -+ Time_mult uint32 -+ Time_offset uint64 -+ Time_zero uint64 -+ Size uint32 -+ _ [948]uint8 -+ Data_head uint64 -+ Data_tail uint64 -+ Data_offset uint64 -+ Data_size uint64 -+ Aux_head uint64 -+ Aux_tail uint64 -+ Aux_offset uint64 -+ Aux_size uint64 -+} -+ -+const ( -+ PerfBitDisabled uint64 = CBitFieldMaskBit0 -+ PerfBitInherit = CBitFieldMaskBit1 -+ PerfBitPinned = CBitFieldMaskBit2 -+ PerfBitExclusive = CBitFieldMaskBit3 -+ PerfBitExcludeUser = CBitFieldMaskBit4 -+ PerfBitExcludeKernel = CBitFieldMaskBit5 -+ PerfBitExcludeHv = CBitFieldMaskBit6 -+ PerfBitExcludeIdle = CBitFieldMaskBit7 -+ PerfBitMmap = CBitFieldMaskBit8 -+ PerfBitComm = CBitFieldMaskBit9 -+ PerfBitFreq = CBitFieldMaskBit10 -+ PerfBitInheritStat = CBitFieldMaskBit11 -+ PerfBitEnableOnExec = CBitFieldMaskBit12 -+ PerfBitTask = CBitFieldMaskBit13 -+ PerfBitWatermark = CBitFieldMaskBit14 -+ PerfBitPreciseIPBit1 = CBitFieldMaskBit15 -+ PerfBitPreciseIPBit2 = CBitFieldMaskBit16 -+ PerfBitMmapData = CBitFieldMaskBit17 -+ PerfBitSampleIDAll = CBitFieldMaskBit18 -+ PerfBitExcludeHost = CBitFieldMaskBit19 -+ PerfBitExcludeGuest = CBitFieldMaskBit20 -+ PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 -+ PerfBitExcludeCallchainUser = CBitFieldMaskBit22 -+ PerfBitMmap2 = CBitFieldMaskBit23 -+ PerfBitCommExec = CBitFieldMaskBit24 -+ PerfBitUseClockID = CBitFieldMaskBit25 -+ PerfBitContextSwitch = CBitFieldMaskBit26 -+) -+ -+const ( -+ PERF_TYPE_HARDWARE = 0x0 -+ PERF_TYPE_SOFTWARE = 0x1 -+ PERF_TYPE_TRACEPOINT = 0x2 -+ PERF_TYPE_HW_CACHE = 0x3 -+ PERF_TYPE_RAW = 0x4 -+ PERF_TYPE_BREAKPOINT = 0x5 -+ -+ PERF_COUNT_HW_CPU_CYCLES = 0x0 -+ PERF_COUNT_HW_INSTRUCTIONS = 0x1 -+ PERF_COUNT_HW_CACHE_REFERENCES = 0x2 -+ PERF_COUNT_HW_CACHE_MISSES = 0x3 -+ PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 -+ PERF_COUNT_HW_BRANCH_MISSES = 0x5 -+ PERF_COUNT_HW_BUS_CYCLES = 0x6 -+ PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 -+ PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 -+ PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 -+ -+ PERF_COUNT_HW_CACHE_L1D = 0x0 -+ PERF_COUNT_HW_CACHE_L1I = 0x1 -+ PERF_COUNT_HW_CACHE_LL = 0x2 -+ PERF_COUNT_HW_CACHE_DTLB = 0x3 -+ PERF_COUNT_HW_CACHE_ITLB = 0x4 -+ PERF_COUNT_HW_CACHE_BPU = 0x5 -+ PERF_COUNT_HW_CACHE_NODE = 0x6 -+ -+ PERF_COUNT_HW_CACHE_OP_READ = 0x0 -+ PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 -+ PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 -+ -+ PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 -+ PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 -+ -+ PERF_COUNT_SW_CPU_CLOCK = 0x0 -+ PERF_COUNT_SW_TASK_CLOCK = 0x1 -+ PERF_COUNT_SW_PAGE_FAULTS = 0x2 -+ PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 -+ PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 -+ PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 -+ PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 -+ PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 -+ PERF_COUNT_SW_EMULATION_FAULTS = 0x8 -+ PERF_COUNT_SW_DUMMY = 0x9 -+ PERF_COUNT_SW_BPF_OUTPUT = 0xa -+ -+ PERF_SAMPLE_IP = 0x1 -+ PERF_SAMPLE_TID = 0x2 -+ PERF_SAMPLE_TIME = 0x4 -+ PERF_SAMPLE_ADDR = 0x8 -+ PERF_SAMPLE_READ = 0x10 -+ PERF_SAMPLE_CALLCHAIN = 0x20 -+ PERF_SAMPLE_ID = 0x40 -+ PERF_SAMPLE_CPU = 0x80 -+ PERF_SAMPLE_PERIOD = 0x100 -+ PERF_SAMPLE_STREAM_ID = 0x200 -+ PERF_SAMPLE_RAW = 0x400 -+ PERF_SAMPLE_BRANCH_STACK = 0x800 -+ -+ PERF_SAMPLE_BRANCH_USER = 0x1 -+ PERF_SAMPLE_BRANCH_KERNEL = 0x2 -+ PERF_SAMPLE_BRANCH_HV = 0x4 -+ PERF_SAMPLE_BRANCH_ANY = 0x8 -+ PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 -+ PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 -+ PERF_SAMPLE_BRANCH_IND_CALL = 0x40 -+ PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 -+ PERF_SAMPLE_BRANCH_IN_TX = 0x100 -+ PERF_SAMPLE_BRANCH_NO_TX = 0x200 -+ PERF_SAMPLE_BRANCH_COND = 0x400 -+ PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 -+ PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 -+ PERF_SAMPLE_BRANCH_CALL = 0x2000 -+ PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 -+ PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 -+ PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 -+ -+ PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 -+ PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 -+ PERF_FORMAT_ID = 0x4 -+ PERF_FORMAT_GROUP = 0x8 -+ -+ PERF_RECORD_MMAP = 0x1 -+ PERF_RECORD_LOST = 0x2 -+ PERF_RECORD_COMM = 0x3 -+ PERF_RECORD_EXIT = 0x4 -+ PERF_RECORD_THROTTLE = 0x5 -+ PERF_RECORD_UNTHROTTLE = 0x6 -+ PERF_RECORD_FORK = 0x7 -+ PERF_RECORD_READ = 0x8 -+ PERF_RECORD_SAMPLE = 0x9 -+ PERF_RECORD_MMAP2 = 0xa -+ PERF_RECORD_AUX = 0xb -+ PERF_RECORD_ITRACE_START = 0xc -+ PERF_RECORD_LOST_SAMPLES = 0xd -+ PERF_RECORD_SWITCH = 0xe -+ PERF_RECORD_SWITCH_CPU_WIDE = 0xf -+ PERF_RECORD_NAMESPACES = 0x10 -+ -+ PERF_CONTEXT_HV = -0x20 -+ PERF_CONTEXT_KERNEL = -0x80 -+ PERF_CONTEXT_USER = -0x200 -+ -+ PERF_CONTEXT_GUEST = -0x800 -+ PERF_CONTEXT_GUEST_KERNEL = -0x880 -+ PERF_CONTEXT_GUEST_USER = -0xa00 -+ -+ PERF_FLAG_FD_NO_GROUP = 0x1 -+ PERF_FLAG_FD_OUTPUT = 0x2 -+ PERF_FLAG_PID_CGROUP = 0x4 -+ PERF_FLAG_FD_CLOEXEC = 0x8 -+) -+ -+const ( -+ CBitFieldMaskBit0 = 0x1 -+ CBitFieldMaskBit1 = 0x2 -+ CBitFieldMaskBit2 = 0x4 -+ CBitFieldMaskBit3 = 0x8 -+ CBitFieldMaskBit4 = 0x10 -+ CBitFieldMaskBit5 = 0x20 -+ CBitFieldMaskBit6 = 0x40 -+ CBitFieldMaskBit7 = 0x80 -+ CBitFieldMaskBit8 = 0x100 -+ CBitFieldMaskBit9 = 0x200 -+ CBitFieldMaskBit10 = 0x400 -+ CBitFieldMaskBit11 = 0x800 -+ CBitFieldMaskBit12 = 0x1000 -+ CBitFieldMaskBit13 = 0x2000 -+ CBitFieldMaskBit14 = 0x4000 -+ CBitFieldMaskBit15 = 0x8000 -+ CBitFieldMaskBit16 = 0x10000 -+ CBitFieldMaskBit17 = 0x20000 -+ CBitFieldMaskBit18 = 0x40000 -+ CBitFieldMaskBit19 = 0x80000 -+ CBitFieldMaskBit20 = 0x100000 -+ CBitFieldMaskBit21 = 0x200000 -+ CBitFieldMaskBit22 = 0x400000 -+ CBitFieldMaskBit23 = 0x800000 -+ CBitFieldMaskBit24 = 0x1000000 -+ CBitFieldMaskBit25 = 0x2000000 -+ CBitFieldMaskBit26 = 0x4000000 -+ CBitFieldMaskBit27 = 0x8000000 -+ CBitFieldMaskBit28 = 0x10000000 -+ CBitFieldMaskBit29 = 0x20000000 -+ CBitFieldMaskBit30 = 0x40000000 -+ CBitFieldMaskBit31 = 0x80000000 -+ CBitFieldMaskBit32 = 0x100000000 -+ CBitFieldMaskBit33 = 0x200000000 -+ CBitFieldMaskBit34 = 0x400000000 -+ CBitFieldMaskBit35 = 0x800000000 -+ CBitFieldMaskBit36 = 0x1000000000 -+ CBitFieldMaskBit37 = 0x2000000000 -+ CBitFieldMaskBit38 = 0x4000000000 -+ CBitFieldMaskBit39 = 0x8000000000 -+ CBitFieldMaskBit40 = 0x10000000000 -+ CBitFieldMaskBit41 = 0x20000000000 -+ CBitFieldMaskBit42 = 0x40000000000 -+ CBitFieldMaskBit43 = 0x80000000000 -+ CBitFieldMaskBit44 = 0x100000000000 -+ CBitFieldMaskBit45 = 0x200000000000 -+ CBitFieldMaskBit46 = 0x400000000000 -+ CBitFieldMaskBit47 = 0x800000000000 -+ CBitFieldMaskBit48 = 0x1000000000000 -+ CBitFieldMaskBit49 = 0x2000000000000 -+ CBitFieldMaskBit50 = 0x4000000000000 -+ CBitFieldMaskBit51 = 0x8000000000000 -+ CBitFieldMaskBit52 = 0x10000000000000 -+ CBitFieldMaskBit53 = 0x20000000000000 -+ CBitFieldMaskBit54 = 0x40000000000000 -+ CBitFieldMaskBit55 = 0x80000000000000 -+ CBitFieldMaskBit56 = 0x100000000000000 -+ CBitFieldMaskBit57 = 0x200000000000000 -+ CBitFieldMaskBit58 = 0x400000000000000 -+ CBitFieldMaskBit59 = 0x800000000000000 -+ CBitFieldMaskBit60 = 0x1000000000000000 -+ CBitFieldMaskBit61 = 0x2000000000000000 -+ CBitFieldMaskBit62 = 0x4000000000000000 -+ CBitFieldMaskBit63 = 0x8000000000000000 -+) -+ -+type SockaddrStorage struct { -+ Family uint16 -+ _ [118]uint8 -+ _ uint64 -+} -+ -+type TCPMD5Sig struct { -+ Addr SockaddrStorage -+ Flags uint8 -+ Prefixlen uint8 -+ Keylen uint16 -+ _ uint32 -+ Key [80]uint8 -+} -+ -+type HDDriveCmdHdr struct { -+ Command uint8 -+ Number uint8 -+ Feature uint8 -+ Count uint8 -+} -+ -+type HDGeometry struct { -+ Heads uint8 -+ Sectors uint8 -+ Cylinders uint16 -+ Start uint64 -+} -+ -+type HDDriveID struct { -+ Config uint16 -+ Cyls uint16 -+ Reserved2 uint16 -+ Heads uint16 -+ Track_bytes uint16 -+ Sector_bytes uint16 -+ Sectors uint16 -+ Vendor0 uint16 -+ Vendor1 uint16 -+ Vendor2 uint16 -+ Serial_no [20]uint8 -+ Buf_type uint16 -+ Buf_size uint16 -+ Ecc_bytes uint16 -+ Fw_rev [8]uint8 -+ Model [40]uint8 -+ Max_multsect uint8 -+ Vendor3 uint8 -+ Dword_io uint16 -+ Vendor4 uint8 -+ Capability uint8 -+ Reserved50 uint16 -+ Vendor5 uint8 -+ TPIO uint8 -+ Vendor6 uint8 -+ TDMA uint8 -+ Field_valid uint16 -+ Cur_cyls uint16 -+ Cur_heads uint16 -+ Cur_sectors uint16 -+ Cur_capacity0 uint16 -+ Cur_capacity1 uint16 -+ Multsect uint8 -+ Multsect_valid uint8 -+ Lba_capacity uint32 -+ Dma_1word uint16 -+ Dma_mword uint16 -+ Eide_pio_modes uint16 -+ Eide_dma_min uint16 -+ Eide_dma_time uint16 -+ Eide_pio uint16 -+ Eide_pio_iordy uint16 -+ Words69_70 [2]uint16 -+ Words71_74 [4]uint16 -+ Queue_depth uint16 -+ Words76_79 [4]uint16 -+ Major_rev_num uint16 -+ Minor_rev_num uint16 -+ Command_set_1 uint16 -+ Command_set_2 uint16 -+ Cfsse uint16 -+ Cfs_enable_1 uint16 -+ Cfs_enable_2 uint16 -+ Csf_default uint16 -+ Dma_ultra uint16 -+ Trseuc uint16 -+ TrsEuc uint16 -+ CurAPMvalues uint16 -+ Mprc uint16 -+ Hw_config uint16 -+ Acoustic uint16 -+ Msrqs uint16 -+ Sxfert uint16 -+ Sal uint16 -+ Spg uint32 -+ Lba_capacity_2 uint64 -+ Words104_125 [22]uint16 -+ Last_lun uint16 -+ Word127 uint16 -+ Dlf uint16 -+ Csfo uint16 -+ Words130_155 [26]uint16 -+ Word156 uint16 -+ Words157_159 [3]uint16 -+ Cfa_power uint16 -+ Words161_175 [15]uint16 -+ Words176_205 [30]uint16 -+ Words206_254 [49]uint16 -+ Integrity_word uint16 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+const ( -+ ST_MANDLOCK = 0x40 -+ ST_NOATIME = 0x400 -+ ST_NODEV = 0x4 -+ ST_NODIRATIME = 0x800 -+ ST_NOEXEC = 0x8 -+ ST_NOSUID = 0x2 -+ ST_RDONLY = 0x1 -+ ST_RELATIME = 0x1000 -+ ST_SYNCHRONOUS = 0x10 -+) -+ -+type TpacketHdr struct { -+ Status uint64 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Sec uint32 -+ Usec uint32 -+ _ [4]byte -+} -+ -+type Tpacket2Hdr struct { -+ Status uint32 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Sec uint32 -+ Nsec uint32 -+ Vlan_tci uint16 -+ Vlan_tpid uint16 -+ _ [4]uint8 -+} -+ -+type Tpacket3Hdr struct { -+ Next_offset uint32 -+ Sec uint32 -+ Nsec uint32 -+ Snaplen uint32 -+ Len uint32 -+ Status uint32 -+ Mac uint16 -+ Net uint16 -+ Hv1 TpacketHdrVariant1 -+ _ [8]uint8 -+} -+ -+type TpacketHdrVariant1 struct { -+ Rxhash uint32 -+ Vlan_tci uint32 -+ Vlan_tpid uint16 -+ _ uint16 -+} -+ -+type TpacketBlockDesc struct { -+ Version uint32 -+ To_priv uint32 -+ Hdr [40]byte -+} -+ -+type TpacketBDTS struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type TpacketHdrV1 struct { -+ Block_status uint32 -+ Num_pkts uint32 -+ Offset_to_first_pkt uint32 -+ Blk_len uint32 -+ Seq_num uint64 -+ Ts_first_pkt TpacketBDTS -+ Ts_last_pkt TpacketBDTS -+} -+ -+type TpacketReq struct { -+ Block_size uint32 -+ Block_nr uint32 -+ Frame_size uint32 -+ Frame_nr uint32 -+} -+ -+type TpacketReq3 struct { -+ Block_size uint32 -+ Block_nr uint32 -+ Frame_size uint32 -+ Frame_nr uint32 -+ Retire_blk_tov uint32 -+ Sizeof_priv uint32 -+ Feature_req_word uint32 -+} -+ -+type TpacketStats struct { -+ Packets uint32 -+ Drops uint32 -+} -+ -+type TpacketStatsV3 struct { -+ Packets uint32 -+ Drops uint32 -+ Freeze_q_cnt uint32 -+} -+ -+type TpacketAuxdata struct { -+ Status uint32 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Vlan_tci uint16 -+ Vlan_tpid uint16 -+} -+ -+const ( -+ TPACKET_V1 = 0x0 -+ TPACKET_V2 = 0x1 -+ TPACKET_V3 = 0x2 -+) -+ -+const ( -+ SizeofTpacketHdr = 0x20 -+ SizeofTpacket2Hdr = 0x20 -+ SizeofTpacket3Hdr = 0x30 -+ -+ SizeofTpacketStats = 0x8 -+ SizeofTpacketStatsV3 = 0xc -+) -+ -+const ( -+ NF_INET_PRE_ROUTING = 0x0 -+ NF_INET_LOCAL_IN = 0x1 -+ NF_INET_FORWARD = 0x2 -+ NF_INET_LOCAL_OUT = 0x3 -+ NF_INET_POST_ROUTING = 0x4 -+ NF_INET_NUMHOOKS = 0x5 -+) -+ -+const ( -+ NF_NETDEV_INGRESS = 0x0 -+ NF_NETDEV_NUMHOOKS = 0x1 -+) -+ -+const ( -+ NFPROTO_UNSPEC = 0x0 -+ NFPROTO_INET = 0x1 -+ NFPROTO_IPV4 = 0x2 -+ NFPROTO_ARP = 0x3 -+ NFPROTO_NETDEV = 0x5 -+ NFPROTO_BRIDGE = 0x7 -+ NFPROTO_IPV6 = 0xa -+ NFPROTO_DECNET = 0xc -+ NFPROTO_NUMPROTO = 0xd -+) -+ -+type Nfgenmsg struct { -+ Nfgen_family uint8 -+ Version uint8 -+ Res_id uint16 -+} -+ -+const ( -+ NFNL_BATCH_UNSPEC = 0x0 -+ NFNL_BATCH_GENID = 0x1 -+) -+ -+const ( -+ NFT_REG_VERDICT = 0x0 -+ NFT_REG_1 = 0x1 -+ NFT_REG_2 = 0x2 -+ NFT_REG_3 = 0x3 -+ NFT_REG_4 = 0x4 -+ NFT_REG32_00 = 0x8 -+ NFT_REG32_01 = 0x9 -+ NFT_REG32_02 = 0xa -+ NFT_REG32_03 = 0xb -+ NFT_REG32_04 = 0xc -+ NFT_REG32_05 = 0xd -+ NFT_REG32_06 = 0xe -+ NFT_REG32_07 = 0xf -+ NFT_REG32_08 = 0x10 -+ NFT_REG32_09 = 0x11 -+ NFT_REG32_10 = 0x12 -+ NFT_REG32_11 = 0x13 -+ NFT_REG32_12 = 0x14 -+ NFT_REG32_13 = 0x15 -+ NFT_REG32_14 = 0x16 -+ NFT_REG32_15 = 0x17 -+ NFT_CONTINUE = -0x1 -+ NFT_BREAK = -0x2 -+ NFT_JUMP = -0x3 -+ NFT_GOTO = -0x4 -+ NFT_RETURN = -0x5 -+ NFT_MSG_NEWTABLE = 0x0 -+ NFT_MSG_GETTABLE = 0x1 -+ NFT_MSG_DELTABLE = 0x2 -+ NFT_MSG_NEWCHAIN = 0x3 -+ NFT_MSG_GETCHAIN = 0x4 -+ NFT_MSG_DELCHAIN = 0x5 -+ NFT_MSG_NEWRULE = 0x6 -+ NFT_MSG_GETRULE = 0x7 -+ NFT_MSG_DELRULE = 0x8 -+ NFT_MSG_NEWSET = 0x9 -+ NFT_MSG_GETSET = 0xa -+ NFT_MSG_DELSET = 0xb -+ NFT_MSG_NEWSETELEM = 0xc -+ NFT_MSG_GETSETELEM = 0xd -+ NFT_MSG_DELSETELEM = 0xe -+ NFT_MSG_NEWGEN = 0xf -+ NFT_MSG_GETGEN = 0x10 -+ NFT_MSG_TRACE = 0x11 -+ NFT_MSG_NEWOBJ = 0x12 -+ NFT_MSG_GETOBJ = 0x13 -+ NFT_MSG_DELOBJ = 0x14 -+ NFT_MSG_GETOBJ_RESET = 0x15 -+ NFT_MSG_MAX = 0x19 -+ NFTA_LIST_UNPEC = 0x0 -+ NFTA_LIST_ELEM = 0x1 -+ NFTA_HOOK_UNSPEC = 0x0 -+ NFTA_HOOK_HOOKNUM = 0x1 -+ NFTA_HOOK_PRIORITY = 0x2 -+ NFTA_HOOK_DEV = 0x3 -+ NFT_TABLE_F_DORMANT = 0x1 -+ NFTA_TABLE_UNSPEC = 0x0 -+ NFTA_TABLE_NAME = 0x1 -+ NFTA_TABLE_FLAGS = 0x2 -+ NFTA_TABLE_USE = 0x3 -+ NFTA_CHAIN_UNSPEC = 0x0 -+ NFTA_CHAIN_TABLE = 0x1 -+ NFTA_CHAIN_HANDLE = 0x2 -+ NFTA_CHAIN_NAME = 0x3 -+ NFTA_CHAIN_HOOK = 0x4 -+ NFTA_CHAIN_POLICY = 0x5 -+ NFTA_CHAIN_USE = 0x6 -+ NFTA_CHAIN_TYPE = 0x7 -+ NFTA_CHAIN_COUNTERS = 0x8 -+ NFTA_CHAIN_PAD = 0x9 -+ NFTA_RULE_UNSPEC = 0x0 -+ NFTA_RULE_TABLE = 0x1 -+ NFTA_RULE_CHAIN = 0x2 -+ NFTA_RULE_HANDLE = 0x3 -+ NFTA_RULE_EXPRESSIONS = 0x4 -+ NFTA_RULE_COMPAT = 0x5 -+ NFTA_RULE_POSITION = 0x6 -+ NFTA_RULE_USERDATA = 0x7 -+ NFTA_RULE_PAD = 0x8 -+ NFTA_RULE_ID = 0x9 -+ NFT_RULE_COMPAT_F_INV = 0x2 -+ NFT_RULE_COMPAT_F_MASK = 0x2 -+ NFTA_RULE_COMPAT_UNSPEC = 0x0 -+ NFTA_RULE_COMPAT_PROTO = 0x1 -+ NFTA_RULE_COMPAT_FLAGS = 0x2 -+ NFT_SET_ANONYMOUS = 0x1 -+ NFT_SET_CONSTANT = 0x2 -+ NFT_SET_INTERVAL = 0x4 -+ NFT_SET_MAP = 0x8 -+ NFT_SET_TIMEOUT = 0x10 -+ NFT_SET_EVAL = 0x20 -+ NFT_SET_OBJECT = 0x40 -+ NFT_SET_POL_PERFORMANCE = 0x0 -+ NFT_SET_POL_MEMORY = 0x1 -+ NFTA_SET_DESC_UNSPEC = 0x0 -+ NFTA_SET_DESC_SIZE = 0x1 -+ NFTA_SET_UNSPEC = 0x0 -+ NFTA_SET_TABLE = 0x1 -+ NFTA_SET_NAME = 0x2 -+ NFTA_SET_FLAGS = 0x3 -+ NFTA_SET_KEY_TYPE = 0x4 -+ NFTA_SET_KEY_LEN = 0x5 -+ NFTA_SET_DATA_TYPE = 0x6 -+ NFTA_SET_DATA_LEN = 0x7 -+ NFTA_SET_POLICY = 0x8 -+ NFTA_SET_DESC = 0x9 -+ NFTA_SET_ID = 0xa -+ NFTA_SET_TIMEOUT = 0xb -+ NFTA_SET_GC_INTERVAL = 0xc -+ NFTA_SET_USERDATA = 0xd -+ NFTA_SET_PAD = 0xe -+ NFTA_SET_OBJ_TYPE = 0xf -+ NFT_SET_ELEM_INTERVAL_END = 0x1 -+ NFTA_SET_ELEM_UNSPEC = 0x0 -+ NFTA_SET_ELEM_KEY = 0x1 -+ NFTA_SET_ELEM_DATA = 0x2 -+ NFTA_SET_ELEM_FLAGS = 0x3 -+ NFTA_SET_ELEM_TIMEOUT = 0x4 -+ NFTA_SET_ELEM_EXPIRATION = 0x5 -+ NFTA_SET_ELEM_USERDATA = 0x6 -+ NFTA_SET_ELEM_EXPR = 0x7 -+ NFTA_SET_ELEM_PAD = 0x8 -+ NFTA_SET_ELEM_OBJREF = 0x9 -+ NFTA_SET_ELEM_LIST_UNSPEC = 0x0 -+ NFTA_SET_ELEM_LIST_TABLE = 0x1 -+ NFTA_SET_ELEM_LIST_SET = 0x2 -+ NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 -+ NFTA_SET_ELEM_LIST_SET_ID = 0x4 -+ NFT_DATA_VALUE = 0x0 -+ NFT_DATA_VERDICT = 0xffffff00 -+ NFTA_DATA_UNSPEC = 0x0 -+ NFTA_DATA_VALUE = 0x1 -+ NFTA_DATA_VERDICT = 0x2 -+ NFTA_VERDICT_UNSPEC = 0x0 -+ NFTA_VERDICT_CODE = 0x1 -+ NFTA_VERDICT_CHAIN = 0x2 -+ NFTA_EXPR_UNSPEC = 0x0 -+ NFTA_EXPR_NAME = 0x1 -+ NFTA_EXPR_DATA = 0x2 -+ NFTA_IMMEDIATE_UNSPEC = 0x0 -+ NFTA_IMMEDIATE_DREG = 0x1 -+ NFTA_IMMEDIATE_DATA = 0x2 -+ NFTA_BITWISE_UNSPEC = 0x0 -+ NFTA_BITWISE_SREG = 0x1 -+ NFTA_BITWISE_DREG = 0x2 -+ NFTA_BITWISE_LEN = 0x3 -+ NFTA_BITWISE_MASK = 0x4 -+ NFTA_BITWISE_XOR = 0x5 -+ NFT_BYTEORDER_NTOH = 0x0 -+ NFT_BYTEORDER_HTON = 0x1 -+ NFTA_BYTEORDER_UNSPEC = 0x0 -+ NFTA_BYTEORDER_SREG = 0x1 -+ NFTA_BYTEORDER_DREG = 0x2 -+ NFTA_BYTEORDER_OP = 0x3 -+ NFTA_BYTEORDER_LEN = 0x4 -+ NFTA_BYTEORDER_SIZE = 0x5 -+ NFT_CMP_EQ = 0x0 -+ NFT_CMP_NEQ = 0x1 -+ NFT_CMP_LT = 0x2 -+ NFT_CMP_LTE = 0x3 -+ NFT_CMP_GT = 0x4 -+ NFT_CMP_GTE = 0x5 -+ NFTA_CMP_UNSPEC = 0x0 -+ NFTA_CMP_SREG = 0x1 -+ NFTA_CMP_OP = 0x2 -+ NFTA_CMP_DATA = 0x3 -+ NFT_RANGE_EQ = 0x0 -+ NFT_RANGE_NEQ = 0x1 -+ NFTA_RANGE_UNSPEC = 0x0 -+ NFTA_RANGE_SREG = 0x1 -+ NFTA_RANGE_OP = 0x2 -+ NFTA_RANGE_FROM_DATA = 0x3 -+ NFTA_RANGE_TO_DATA = 0x4 -+ NFT_LOOKUP_F_INV = 0x1 -+ NFTA_LOOKUP_UNSPEC = 0x0 -+ NFTA_LOOKUP_SET = 0x1 -+ NFTA_LOOKUP_SREG = 0x2 -+ NFTA_LOOKUP_DREG = 0x3 -+ NFTA_LOOKUP_SET_ID = 0x4 -+ NFTA_LOOKUP_FLAGS = 0x5 -+ NFT_DYNSET_OP_ADD = 0x0 -+ NFT_DYNSET_OP_UPDATE = 0x1 -+ NFT_DYNSET_F_INV = 0x1 -+ NFTA_DYNSET_UNSPEC = 0x0 -+ NFTA_DYNSET_SET_NAME = 0x1 -+ NFTA_DYNSET_SET_ID = 0x2 -+ NFTA_DYNSET_OP = 0x3 -+ NFTA_DYNSET_SREG_KEY = 0x4 -+ NFTA_DYNSET_SREG_DATA = 0x5 -+ NFTA_DYNSET_TIMEOUT = 0x6 -+ NFTA_DYNSET_EXPR = 0x7 -+ NFTA_DYNSET_PAD = 0x8 -+ NFTA_DYNSET_FLAGS = 0x9 -+ NFT_PAYLOAD_LL_HEADER = 0x0 -+ NFT_PAYLOAD_NETWORK_HEADER = 0x1 -+ NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 -+ NFT_PAYLOAD_CSUM_NONE = 0x0 -+ NFT_PAYLOAD_CSUM_INET = 0x1 -+ NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 -+ NFTA_PAYLOAD_UNSPEC = 0x0 -+ NFTA_PAYLOAD_DREG = 0x1 -+ NFTA_PAYLOAD_BASE = 0x2 -+ NFTA_PAYLOAD_OFFSET = 0x3 -+ NFTA_PAYLOAD_LEN = 0x4 -+ NFTA_PAYLOAD_SREG = 0x5 -+ NFTA_PAYLOAD_CSUM_TYPE = 0x6 -+ NFTA_PAYLOAD_CSUM_OFFSET = 0x7 -+ NFTA_PAYLOAD_CSUM_FLAGS = 0x8 -+ NFT_EXTHDR_F_PRESENT = 0x1 -+ NFT_EXTHDR_OP_IPV6 = 0x0 -+ NFT_EXTHDR_OP_TCPOPT = 0x1 -+ NFTA_EXTHDR_UNSPEC = 0x0 -+ NFTA_EXTHDR_DREG = 0x1 -+ NFTA_EXTHDR_TYPE = 0x2 -+ NFTA_EXTHDR_OFFSET = 0x3 -+ NFTA_EXTHDR_LEN = 0x4 -+ NFTA_EXTHDR_FLAGS = 0x5 -+ NFTA_EXTHDR_OP = 0x6 -+ NFTA_EXTHDR_SREG = 0x7 -+ NFT_META_LEN = 0x0 -+ NFT_META_PROTOCOL = 0x1 -+ NFT_META_PRIORITY = 0x2 -+ NFT_META_MARK = 0x3 -+ NFT_META_IIF = 0x4 -+ NFT_META_OIF = 0x5 -+ NFT_META_IIFNAME = 0x6 -+ NFT_META_OIFNAME = 0x7 -+ NFT_META_IIFTYPE = 0x8 -+ NFT_META_OIFTYPE = 0x9 -+ NFT_META_SKUID = 0xa -+ NFT_META_SKGID = 0xb -+ NFT_META_NFTRACE = 0xc -+ NFT_META_RTCLASSID = 0xd -+ NFT_META_SECMARK = 0xe -+ NFT_META_NFPROTO = 0xf -+ NFT_META_L4PROTO = 0x10 -+ NFT_META_BRI_IIFNAME = 0x11 -+ NFT_META_BRI_OIFNAME = 0x12 -+ NFT_META_PKTTYPE = 0x13 -+ NFT_META_CPU = 0x14 -+ NFT_META_IIFGROUP = 0x15 -+ NFT_META_OIFGROUP = 0x16 -+ NFT_META_CGROUP = 0x17 -+ NFT_META_PRANDOM = 0x18 -+ NFT_RT_CLASSID = 0x0 -+ NFT_RT_NEXTHOP4 = 0x1 -+ NFT_RT_NEXTHOP6 = 0x2 -+ NFT_RT_TCPMSS = 0x3 -+ NFT_HASH_JENKINS = 0x0 -+ NFT_HASH_SYM = 0x1 -+ NFTA_HASH_UNSPEC = 0x0 -+ NFTA_HASH_SREG = 0x1 -+ NFTA_HASH_DREG = 0x2 -+ NFTA_HASH_LEN = 0x3 -+ NFTA_HASH_MODULUS = 0x4 -+ NFTA_HASH_SEED = 0x5 -+ NFTA_HASH_OFFSET = 0x6 -+ NFTA_HASH_TYPE = 0x7 -+ NFTA_META_UNSPEC = 0x0 -+ NFTA_META_DREG = 0x1 -+ NFTA_META_KEY = 0x2 -+ NFTA_META_SREG = 0x3 -+ NFTA_RT_UNSPEC = 0x0 -+ NFTA_RT_DREG = 0x1 -+ NFTA_RT_KEY = 0x2 -+ NFT_CT_STATE = 0x0 -+ NFT_CT_DIRECTION = 0x1 -+ NFT_CT_STATUS = 0x2 -+ NFT_CT_MARK = 0x3 -+ NFT_CT_SECMARK = 0x4 -+ NFT_CT_EXPIRATION = 0x5 -+ NFT_CT_HELPER = 0x6 -+ NFT_CT_L3PROTOCOL = 0x7 -+ NFT_CT_SRC = 0x8 -+ NFT_CT_DST = 0x9 -+ NFT_CT_PROTOCOL = 0xa -+ NFT_CT_PROTO_SRC = 0xb -+ NFT_CT_PROTO_DST = 0xc -+ NFT_CT_LABELS = 0xd -+ NFT_CT_PKTS = 0xe -+ NFT_CT_BYTES = 0xf -+ NFT_CT_AVGPKT = 0x10 -+ NFT_CT_ZONE = 0x11 -+ NFT_CT_EVENTMASK = 0x12 -+ NFTA_CT_UNSPEC = 0x0 -+ NFTA_CT_DREG = 0x1 -+ NFTA_CT_KEY = 0x2 -+ NFTA_CT_DIRECTION = 0x3 -+ NFTA_CT_SREG = 0x4 -+ NFT_LIMIT_PKTS = 0x0 -+ NFT_LIMIT_PKT_BYTES = 0x1 -+ NFT_LIMIT_F_INV = 0x1 -+ NFTA_LIMIT_UNSPEC = 0x0 -+ NFTA_LIMIT_RATE = 0x1 -+ NFTA_LIMIT_UNIT = 0x2 -+ NFTA_LIMIT_BURST = 0x3 -+ NFTA_LIMIT_TYPE = 0x4 -+ NFTA_LIMIT_FLAGS = 0x5 -+ NFTA_LIMIT_PAD = 0x6 -+ NFTA_COUNTER_UNSPEC = 0x0 -+ NFTA_COUNTER_BYTES = 0x1 -+ NFTA_COUNTER_PACKETS = 0x2 -+ NFTA_COUNTER_PAD = 0x3 -+ NFTA_LOG_UNSPEC = 0x0 -+ NFTA_LOG_GROUP = 0x1 -+ NFTA_LOG_PREFIX = 0x2 -+ NFTA_LOG_SNAPLEN = 0x3 -+ NFTA_LOG_QTHRESHOLD = 0x4 -+ NFTA_LOG_LEVEL = 0x5 -+ NFTA_LOG_FLAGS = 0x6 -+ NFTA_QUEUE_UNSPEC = 0x0 -+ NFTA_QUEUE_NUM = 0x1 -+ NFTA_QUEUE_TOTAL = 0x2 -+ NFTA_QUEUE_FLAGS = 0x3 -+ NFTA_QUEUE_SREG_QNUM = 0x4 -+ NFT_QUOTA_F_INV = 0x1 -+ NFT_QUOTA_F_DEPLETED = 0x2 -+ NFTA_QUOTA_UNSPEC = 0x0 -+ NFTA_QUOTA_BYTES = 0x1 -+ NFTA_QUOTA_FLAGS = 0x2 -+ NFTA_QUOTA_PAD = 0x3 -+ NFTA_QUOTA_CONSUMED = 0x4 -+ NFT_REJECT_ICMP_UNREACH = 0x0 -+ NFT_REJECT_TCP_RST = 0x1 -+ NFT_REJECT_ICMPX_UNREACH = 0x2 -+ NFT_REJECT_ICMPX_NO_ROUTE = 0x0 -+ NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 -+ NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 -+ NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 -+ NFTA_REJECT_UNSPEC = 0x0 -+ NFTA_REJECT_TYPE = 0x1 -+ NFTA_REJECT_ICMP_CODE = 0x2 -+ NFT_NAT_SNAT = 0x0 -+ NFT_NAT_DNAT = 0x1 -+ NFTA_NAT_UNSPEC = 0x0 -+ NFTA_NAT_TYPE = 0x1 -+ NFTA_NAT_FAMILY = 0x2 -+ NFTA_NAT_REG_ADDR_MIN = 0x3 -+ NFTA_NAT_REG_ADDR_MAX = 0x4 -+ NFTA_NAT_REG_PROTO_MIN = 0x5 -+ NFTA_NAT_REG_PROTO_MAX = 0x6 -+ NFTA_NAT_FLAGS = 0x7 -+ NFTA_MASQ_UNSPEC = 0x0 -+ NFTA_MASQ_FLAGS = 0x1 -+ NFTA_MASQ_REG_PROTO_MIN = 0x2 -+ NFTA_MASQ_REG_PROTO_MAX = 0x3 -+ NFTA_REDIR_UNSPEC = 0x0 -+ NFTA_REDIR_REG_PROTO_MIN = 0x1 -+ NFTA_REDIR_REG_PROTO_MAX = 0x2 -+ NFTA_REDIR_FLAGS = 0x3 -+ NFTA_DUP_UNSPEC = 0x0 -+ NFTA_DUP_SREG_ADDR = 0x1 -+ NFTA_DUP_SREG_DEV = 0x2 -+ NFTA_FWD_UNSPEC = 0x0 -+ NFTA_FWD_SREG_DEV = 0x1 -+ NFTA_OBJREF_UNSPEC = 0x0 -+ NFTA_OBJREF_IMM_TYPE = 0x1 -+ NFTA_OBJREF_IMM_NAME = 0x2 -+ NFTA_OBJREF_SET_SREG = 0x3 -+ NFTA_OBJREF_SET_NAME = 0x4 -+ NFTA_OBJREF_SET_ID = 0x5 -+ NFTA_GEN_UNSPEC = 0x0 -+ NFTA_GEN_ID = 0x1 -+ NFTA_GEN_PROC_PID = 0x2 -+ NFTA_GEN_PROC_NAME = 0x3 -+ NFTA_FIB_UNSPEC = 0x0 -+ NFTA_FIB_DREG = 0x1 -+ NFTA_FIB_RESULT = 0x2 -+ NFTA_FIB_FLAGS = 0x3 -+ NFT_FIB_RESULT_UNSPEC = 0x0 -+ NFT_FIB_RESULT_OIF = 0x1 -+ NFT_FIB_RESULT_OIFNAME = 0x2 -+ NFT_FIB_RESULT_ADDRTYPE = 0x3 -+ NFTA_FIB_F_SADDR = 0x1 -+ NFTA_FIB_F_DADDR = 0x2 -+ NFTA_FIB_F_MARK = 0x4 -+ NFTA_FIB_F_IIF = 0x8 -+ NFTA_FIB_F_OIF = 0x10 -+ NFTA_FIB_F_PRESENT = 0x20 -+ NFTA_CT_HELPER_UNSPEC = 0x0 -+ NFTA_CT_HELPER_NAME = 0x1 -+ NFTA_CT_HELPER_L3PROTO = 0x2 -+ NFTA_CT_HELPER_L4PROTO = 0x3 -+ NFTA_OBJ_UNSPEC = 0x0 -+ NFTA_OBJ_TABLE = 0x1 -+ NFTA_OBJ_NAME = 0x2 -+ NFTA_OBJ_TYPE = 0x3 -+ NFTA_OBJ_DATA = 0x4 -+ NFTA_OBJ_USE = 0x5 -+ NFTA_TRACE_UNSPEC = 0x0 -+ NFTA_TRACE_TABLE = 0x1 -+ NFTA_TRACE_CHAIN = 0x2 -+ NFTA_TRACE_RULE_HANDLE = 0x3 -+ NFTA_TRACE_TYPE = 0x4 -+ NFTA_TRACE_VERDICT = 0x5 -+ NFTA_TRACE_ID = 0x6 -+ NFTA_TRACE_LL_HEADER = 0x7 -+ NFTA_TRACE_NETWORK_HEADER = 0x8 -+ NFTA_TRACE_TRANSPORT_HEADER = 0x9 -+ NFTA_TRACE_IIF = 0xa -+ NFTA_TRACE_IIFTYPE = 0xb -+ NFTA_TRACE_OIF = 0xc -+ NFTA_TRACE_OIFTYPE = 0xd -+ NFTA_TRACE_MARK = 0xe -+ NFTA_TRACE_NFPROTO = 0xf -+ NFTA_TRACE_POLICY = 0x10 -+ NFTA_TRACE_PAD = 0x11 -+ NFT_TRACETYPE_UNSPEC = 0x0 -+ NFT_TRACETYPE_POLICY = 0x1 -+ NFT_TRACETYPE_RETURN = 0x2 -+ NFT_TRACETYPE_RULE = 0x3 -+ NFTA_NG_UNSPEC = 0x0 -+ NFTA_NG_DREG = 0x1 -+ NFTA_NG_MODULUS = 0x2 -+ NFTA_NG_TYPE = 0x3 -+ NFTA_NG_OFFSET = 0x4 -+ NFT_NG_INCREMENTAL = 0x0 -+ NFT_NG_RANDOM = 0x1 -+) -+ -+type RTCTime struct { -+ Sec int32 -+ Min int32 -+ Hour int32 -+ Mday int32 -+ Mon int32 -+ Year int32 -+ Wday int32 -+ Yday int32 -+ Isdst int32 -+} -+ -+type RTCWkAlrm struct { -+ Enabled uint8 -+ Pending uint8 -+ Time RTCTime -+} -+ -+type RTCPLLInfo struct { -+ Ctrl int32 -+ Value int32 -+ Max int32 -+ Min int32 -+ Posmult int32 -+ Negmult int32 -+ Clock int64 -+} -+ -+type BlkpgIoctlArg struct { -+ Op int32 -+ Flags int32 -+ Datalen int32 -+ Data *byte -+} -+ -+type BlkpgPartition struct { -+ Start int64 -+ Length int64 -+ Pno int32 -+ Devname [64]uint8 -+ Volname [64]uint8 -+ _ [4]byte -+} -+ -+const ( -+ BLKPG = 0x1269 -+ BLKPG_ADD_PARTITION = 0x1 -+ BLKPG_DEL_PARTITION = 0x2 -+ BLKPG_RESIZE_PARTITION = 0x3 -+) -+ -+const ( -+ NETNSA_NONE = 0x0 -+ NETNSA_NSID = 0x1 -+ NETNSA_PID = 0x2 -+ NETNSA_FD = 0x3 -+) -+ -+type XDPRingOffset struct { -+ Producer uint64 -+ Consumer uint64 -+ Desc uint64 -+} -+ -+type XDPMmapOffsets struct { -+ Rx XDPRingOffset -+ Tx XDPRingOffset -+ Fr XDPRingOffset -+ Cr XDPRingOffset -+} -+ -+type XDPUmemReg struct { -+ Addr uint64 -+ Len uint64 -+ Size uint32 -+ Headroom uint32 -+} -+ -+type XDPStatistics struct { -+ Rx_dropped uint64 -+ Rx_invalid_descs uint64 -+ Tx_invalid_descs uint64 -+} -+ -+type XDPDesc struct { -+ Addr uint64 -+ Len uint32 -+ Options uint32 -+} -+ -+const ( -+ NCSI_CMD_UNSPEC = 0x0 -+ NCSI_CMD_PKG_INFO = 0x1 -+ NCSI_CMD_SET_INTERFACE = 0x2 -+ NCSI_CMD_CLEAR_INTERFACE = 0x3 -+ NCSI_ATTR_UNSPEC = 0x0 -+ NCSI_ATTR_IFINDEX = 0x1 -+ NCSI_ATTR_PACKAGE_LIST = 0x2 -+ NCSI_ATTR_PACKAGE_ID = 0x3 -+ NCSI_ATTR_CHANNEL_ID = 0x4 -+ NCSI_PKG_ATTR_UNSPEC = 0x0 -+ NCSI_PKG_ATTR = 0x1 -+ NCSI_PKG_ATTR_ID = 0x2 -+ NCSI_PKG_ATTR_FORCED = 0x3 -+ NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 -+ NCSI_CHANNEL_ATTR_UNSPEC = 0x0 -+ NCSI_CHANNEL_ATTR = 0x1 -+ NCSI_CHANNEL_ATTR_ID = 0x2 -+ NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 -+ NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 -+ NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 -+ NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 -+ NCSI_CHANNEL_ATTR_ACTIVE = 0x7 -+ NCSI_CHANNEL_ATTR_FORCED = 0x8 -+ NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 -+ NCSI_CHANNEL_ATTR_VLAN_ID = 0xa -+) -+ -+type ScmTimestamping struct { -+ Ts [3]Timespec -+} -+ -+const ( -+ SOF_TIMESTAMPING_TX_HARDWARE = 0x1 -+ SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 -+ SOF_TIMESTAMPING_RX_HARDWARE = 0x4 -+ SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 -+ SOF_TIMESTAMPING_SOFTWARE = 0x10 -+ SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 -+ SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 -+ SOF_TIMESTAMPING_OPT_ID = 0x80 -+ SOF_TIMESTAMPING_TX_SCHED = 0x100 -+ SOF_TIMESTAMPING_TX_ACK = 0x200 -+ SOF_TIMESTAMPING_OPT_CMSG = 0x400 -+ SOF_TIMESTAMPING_OPT_TSONLY = 0x800 -+ SOF_TIMESTAMPING_OPT_STATS = 0x1000 -+ SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 -+ SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 -+ -+ SOF_TIMESTAMPING_LAST = 0x4000 -+ SOF_TIMESTAMPING_MASK = 0x7fff -+ -+ SCM_TSTAMP_SND = 0x0 -+ SCM_TSTAMP_SCHED = 0x1 -+ SCM_TSTAMP_ACK = 0x2 -+) -+ -+type SockExtendedErr struct { -+ Errno uint32 -+ Origin uint8 -+ Type uint8 -+ Code uint8 -+ Pad uint8 -+ Info uint32 -+ Data uint32 -+} -+ -+type FanotifyEventMetadata struct { -+ Event_len uint32 -+ Vers uint8 -+ Reserved uint8 -+ Metadata_len uint16 -+ Mask uint64 -+ Fd int32 -+ Pid int32 -+} -+ -+type FanotifyResponse struct { -+ Fd int32 -+ Response uint32 -+} -+ -+const ( -+ CRYPTO_MSG_BASE = 0x10 -+ CRYPTO_MSG_NEWALG = 0x10 -+ CRYPTO_MSG_DELALG = 0x11 -+ CRYPTO_MSG_UPDATEALG = 0x12 -+ CRYPTO_MSG_GETALG = 0x13 -+ CRYPTO_MSG_DELRNG = 0x14 -+ CRYPTO_MSG_GETSTAT = 0x15 -+) -+ -+const ( -+ CRYPTOCFGA_UNSPEC = 0x0 -+ CRYPTOCFGA_PRIORITY_VAL = 0x1 -+ CRYPTOCFGA_REPORT_LARVAL = 0x2 -+ CRYPTOCFGA_REPORT_HASH = 0x3 -+ CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 -+ CRYPTOCFGA_REPORT_AEAD = 0x5 -+ CRYPTOCFGA_REPORT_COMPRESS = 0x6 -+ CRYPTOCFGA_REPORT_RNG = 0x7 -+ CRYPTOCFGA_REPORT_CIPHER = 0x8 -+ CRYPTOCFGA_REPORT_AKCIPHER = 0x9 -+ CRYPTOCFGA_REPORT_KPP = 0xa -+ CRYPTOCFGA_REPORT_ACOMP = 0xb -+ CRYPTOCFGA_STAT_LARVAL = 0xc -+ CRYPTOCFGA_STAT_HASH = 0xd -+ CRYPTOCFGA_STAT_BLKCIPHER = 0xe -+ CRYPTOCFGA_STAT_AEAD = 0xf -+ CRYPTOCFGA_STAT_COMPRESS = 0x10 -+ CRYPTOCFGA_STAT_RNG = 0x11 -+ CRYPTOCFGA_STAT_CIPHER = 0x12 -+ CRYPTOCFGA_STAT_AKCIPHER = 0x13 -+ CRYPTOCFGA_STAT_KPP = 0x14 -+ CRYPTOCFGA_STAT_ACOMP = 0x15 -+) -+ -+type CryptoUserAlg struct { -+ Name [64]uint8 -+ Driver_name [64]uint8 -+ Module_name [64]uint8 -+ Type uint32 -+ Mask uint32 -+ Refcnt uint32 -+ Flags uint32 -+} -+ -+type CryptoStatAEAD struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatAKCipher struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Verify_cnt uint64 -+ Sign_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatCipher struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatCompress struct { -+ Type [64]uint8 -+ Compress_cnt uint64 -+ Compress_tlen uint64 -+ Decompress_cnt uint64 -+ Decompress_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatHash struct { -+ Type [64]uint8 -+ Hash_cnt uint64 -+ Hash_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatKPP struct { -+ Type [64]uint8 -+ Setsecret_cnt uint64 -+ Generate_public_key_cnt uint64 -+ Compute_shared_secret_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatRNG struct { -+ Type [64]uint8 -+ Generate_cnt uint64 -+ Generate_tlen uint64 -+ Seed_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatLarval struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportLarval struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportHash struct { -+ Type [64]uint8 -+ Blocksize uint32 -+ Digestsize uint32 -+} -+ -+type CryptoReportCipher struct { -+ Type [64]uint8 -+ Blocksize uint32 -+ Min_keysize uint32 -+ Max_keysize uint32 -+} -+ -+type CryptoReportBlkCipher struct { -+ Type [64]uint8 -+ Geniv [64]uint8 -+ Blocksize uint32 -+ Min_keysize uint32 -+ Max_keysize uint32 -+ Ivsize uint32 -+} -+ -+type CryptoReportAEAD struct { -+ Type [64]uint8 -+ Geniv [64]uint8 -+ Blocksize uint32 -+ Maxauthsize uint32 -+ Ivsize uint32 -+} -+ -+type CryptoReportComp struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportRNG struct { -+ Type [64]uint8 -+ Seedsize uint32 -+} -+ -+type CryptoReportAKCipher struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportKPP struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportAcomp struct { -+ Type [64]uint8 -+} --- -2.23.0 - diff --git a/patch/0122-runc-add-riscv-on-existing-files.patch b/patch/0122-runc-add-riscv-on-existing-files.patch deleted file mode 100644 index 7d7d792aa45f6bc50edf9d8979e1d903458719e3..0000000000000000000000000000000000000000 --- a/patch/0122-runc-add-riscv-on-existing-files.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b5cf892c9d9609872da81970013a433f998305ea Mon Sep 17 00:00:00 2001 -From: yangyanchao -Date: Tue, 15 Dec 2020 03:04:18 +0000 -Subject: [PATCH 2/2] runc-add-sys-symbol-to-support-riscv - ---- - libcontainer/system/syscall_linux_64.go | 2 +- - vendor/golang.org/x/sys/unix/endian_little.go | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/system/syscall_linux_64.go b/libcontainer/system/syscall_linux_64.go -index 0816bf8..6e89196 100644 ---- a/libcontainer/system/syscall_linux_64.go -+++ b/libcontainer/system/syscall_linux_64.go -@@ -1,4 +1,4 @@ --// +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x -+// +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x linux,riscv64 - - package system - -diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go -index 9ed865f..88903f6 100644 ---- a/vendor/golang.org/x/sys/unix/endian_little.go -+++ b/vendor/golang.org/x/sys/unix/endian_little.go -@@ -2,7 +2,7 @@ - // Use of this source code is governed by a BSD-style - // license that can be found in the LICENSE file. - // --// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le -+// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le riscv64 - - package unix - --- -2.23.0 - diff --git a/patch/0124-runc-fix-freezing-race.patch b/patch/0124-runc-fix-freezing-race.patch deleted file mode 100644 index 14db2c12ac1dcd4e7d17dcfa9f84a9b58aedb3f0..0000000000000000000000000000000000000000 --- a/patch/0124-runc-fix-freezing-race.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 943822abaa0aee51985384912292589ae1e34622 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 4 Feb 2021 16:26:49 +0800 -Subject: [PATCH] runc: fix freezing race - -runc kill blocks in freezer.Set, freezer.state keeps in freezing, -because new process is creating during freeze. - -Upstream:https://github.com/opencontainers/runc/pull/2774 - https://github.com/opencontainers/runc/pull/2791 - -Signed-off-by: xiadanni ---- - libcontainer/cgroups/fs/freezer.go | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/cgroups/fs/freezer.go b/libcontainer/cgroups/fs/freezer.go -index 5ab3c02..40f70c1 100644 ---- a/libcontainer/cgroups/fs/freezer.go -+++ b/libcontainer/cgroups/fs/freezer.go -@@ -3,6 +3,7 @@ - package fs - - import ( -+ "errors" - "fmt" - "strings" - "time" -@@ -28,24 +29,32 @@ func (s *FreezerGroup) Apply(d *cgroupData) error { - - func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error { - switch cgroup.Resources.Freezer { -- case configs.Frozen, configs.Thawed: -- for { -+ case configs.Frozen: -+ for i := 0; i < 1000; i++ { -+ if i%50 == 49 { -+ writeFile(path, "freezer.state", string(configs.Thawed)) -+ time.Sleep(10 * time.Millisecond) -+ } - // In case this loop does not exit because it doesn't get the expected - // state, let's write again this state, hoping it's going to be properly - // set this time. Otherwise, this loop could run infinitely, waiting for - // a state change that would never happen. -- if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -+ if err := writeFile(path, "freezer.state", string(configs.Frozen)); err != nil { - return err - } - state, err := readFile(path, "freezer.state") - if err != nil { - return err - } -- if strings.TrimSpace(state) == string(cgroup.Resources.Freezer) { -- break -+ if strings.TrimSpace(state) == string(configs.Frozen) { -+ return nil - } - time.Sleep(1 * time.Millisecond) - } -+ writeFile(path, "freezer.state", string(configs.Thawed)) -+ return errors.New("unable to freeze") -+ case configs.Thawed: -+ return writeFile(path, "freezer.state", string(configs.Thawed)) - case configs.Undefined: - return nil - default: --- -1.8.3.1 - diff --git a/patch/0125-runc-compile-option-compliance.patch b/patch/0125-runc-compile-option-compliance.patch deleted file mode 100644 index 281e4bc75d2a3fc38f355d07c8fa603209d12f25..0000000000000000000000000000000000000000 --- a/patch/0125-runc-compile-option-compliance.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d7e62b082d564d0ac1e58257f34d25082e58c3cf Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 18 Mar 2021 11:17:13 +0800 -Subject: [PATCH] runc: compile option compliance - -Signed-off-by: xiadanni ---- - Makefile | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 43d15bf..fcf34ea 100644 ---- a/Makefile -+++ b/Makefile -@@ -39,10 +39,17 @@ recvtty: contrib/cmd/recvtty/recvtty - contrib/cmd/recvtty/recvtty: $(SOURCES) - go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - -+LD_FLAGS='-w -buildid=none -tmpdir=/tmp/bep-runc -linkmode=external -extldflags=-Wl,-z,relro,-z,now \ -+ -X main.gitCommit=${COMMIT} -X main.version=${VERSION}' -+ - static: $(SOURCES) -- mkdir -p ${BEP_DIR} -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ rm -rf /tmp/bep-runc && mkdir /tmp/bep-runc -+ CGO_ENABLED=1 \ -+ CGO_CFLAGS="-fstack-protector-strong -fPIE" \ -+ CGO_CPPFLAGS="-fstack-protector-strong -fPIE" \ -+ CGO_LDFLAGS_ALLOW='-Wl,-z,relro,-z,now' \ -+ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \ -+ go build -buildmode=pie -tags "$(BUILDTAGS) cgo static_build" -ldflags '-extldflags=-static' -ldflags $(LD_FLAGS) -o runc . - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -1.8.3.1 - diff --git a/patch/0126-runc-add-check-in-spec.patch b/patch/0126-runc-add-check-in-spec.patch deleted file mode 100644 index 14e28ee2b0fc83a63314ab6549429b7f5209def0..0000000000000000000000000000000000000000 --- a/patch/0126-runc-add-check-in-spec.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 34e659c12eb4ae543e3c7a6539a3d51ec2ec295b Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Fri, 19 Feb 2021 11:18:25 +0800 -Subject: [PATCH] runc: add check in spec - -Signed-off-by: xiadanni ---- - Makefile | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Makefile b/Makefile -index fcf34ea..364ac89 100644 ---- a/Makefile -+++ b/Makefile -@@ -89,6 +89,9 @@ man: - runcimage: - docker build -t $(RUNC_IMAGE) . - -+check: -+ go test -v ./libcontainer -+ - test: - make unittest integration rootlessintegration - --- -1.8.3.1 - diff --git a/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch b/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch deleted file mode 100644 index 5649b87b1f5ac2908054b64f7a06f86422035dae..0000000000000000000000000000000000000000 --- a/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch +++ /dev/null @@ -1,1344 +0,0 @@ -From d0b1d58edca28b6e4264abb1645fa8f7e56fc03e Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 3 Jun 2021 19:58:55 +0800 -Subject: [PATCH] rootfs:add mount destination validation(fix CVE-2021-30465) - -Conflict:NA -Reference:https://github.com/opencontainers/runc/commit/0ca91f44f1664da834bc61115a849b56d22f595f - -Signed-off-by: xiadanni ---- - libcontainer/init_linux.go | 1 + - libcontainer/rootfs_linux.go | 38 ++- - libcontainer/utils/utils.go | 69 +++++ - .../cyphar/filepath-securejoin/.travis.yml | 19 ++ - .../cyphar/filepath-securejoin/LICENSE | 28 ++ - .../cyphar/filepath-securejoin/README.md | 65 ++++ - .../cyphar/filepath-securejoin/VERSION | 1 + - .../cyphar/filepath-securejoin/join.go | 134 ++++++++ - .../cyphar/filepath-securejoin/vendor.conf | 1 + - .../cyphar/filepath-securejoin/vfs.go | 41 +++ - vendor/github.com/pkg/errors/.gitignore | 24 ++ - vendor/github.com/pkg/errors/.travis.yml | 10 + - vendor/github.com/pkg/errors/LICENSE | 23 ++ - vendor/github.com/pkg/errors/Makefile | 44 +++ - vendor/github.com/pkg/errors/README.md | 59 ++++ - vendor/github.com/pkg/errors/appveyor.yml | 32 ++ - vendor/github.com/pkg/errors/errors.go | 288 ++++++++++++++++++ - vendor/github.com/pkg/errors/go113.go | 38 +++ - vendor/github.com/pkg/errors/stack.go | 177 +++++++++++ - 19 files changed, 1080 insertions(+), 12 deletions(-) - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/.travis.yml - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/LICENSE - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/README.md - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/VERSION - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/join.go - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/vendor.conf - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/vfs.go - create mode 100644 vendor/github.com/pkg/errors/.gitignore - create mode 100644 vendor/github.com/pkg/errors/.travis.yml - create mode 100644 vendor/github.com/pkg/errors/LICENSE - create mode 100644 vendor/github.com/pkg/errors/Makefile - create mode 100644 vendor/github.com/pkg/errors/README.md - create mode 100644 vendor/github.com/pkg/errors/appveyor.yml - create mode 100644 vendor/github.com/pkg/errors/errors.go - create mode 100644 vendor/github.com/pkg/errors/go113.go - create mode 100644 vendor/github.com/pkg/errors/stack.go - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 73505ef9..ee632b4c 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -71,6 +71,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - if err := json.NewDecoder(pipe).Decode(&config); err != nil { - return nil, err - } -+ utils.ConfigRootfs = config.Config.Rootfs - if err := populateProcessEnvironment(config.Env); err != nil { - return nil, err - } -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 4c184822..908e9d53 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -14,6 +14,7 @@ import ( - "syscall" - "time" - -+ securejoin "github.com/cyphar/filepath-securejoin" - "github.com/docker/docker/pkg/mount" - "github.com/docker/docker/pkg/symlink" - "github.com/mrunalp/fileutils" -@@ -161,9 +162,13 @@ func mountCmd(cmd configs.Command) error { - func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - var ( - dest = m.Destination -+ err error - ) - if !strings.HasPrefix(dest, rootfs) { -- dest = filepath.Join(rootfs, dest) -+ dest, err = securejoin.SecureJoin(rootfs, m.Destination) -+ if err != nil { -+ return err -+ } - } - - switch m.Device { -@@ -216,7 +221,7 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - } - return errMsg - } -- if err := syscall.Mount(tmpDir, dest, "", syscall.MS_MOVE, ""); err != nil { -+ if err := libcontainerUtils.Mount(tmpDir, dest, "", syscall.MS_MOVE, ""); err != nil { - errMsg := fmt.Errorf("tmpcopyup: failed to move mount %s to %s: %v", tmpDir, dest, err) - if err1 := syscall.Unmount(tmpDir, syscall.MNT_DETACH); err1 != nil { - return newSystemErrorWithCausef(err1, "tmpcopyup: %v: failed to unmount", errMsg) -@@ -494,12 +499,15 @@ func bindMountDeviceNode(dest string, node *configs.Device) error { - if f != nil { - f.Close() - } -- return syscall.Mount(node.Path, dest, "bind", syscall.MS_BIND, "") -+ return libcontainerUtils.Mount(node.Path, dest, "bind", syscall.MS_BIND, "") - } - - // Creates the device node in the rootfs of the container. - func createDeviceNode(rootfs string, node *configs.Device, bind bool) error { -- dest := filepath.Join(rootfs, node.Path) -+ dest, err := securejoin.SecureJoin(rootfs, node.Path) -+ if err != nil { -+ return err -+ } - if err := os.MkdirAll(filepath.Dir(dest), 0755); err != nil { - return err - } -@@ -815,14 +823,16 @@ func writeSystemProperty(key, value string) error { - func remount(m *configs.Mount, rootfs string) error { - var ( - dest = m.Destination -+ err error - ) - if !strings.HasPrefix(dest, rootfs) { -- dest = filepath.Join(rootfs, dest) -- } -- if err := syscall.Mount(m.Source, dest, m.Device, uintptr(m.Flags|syscall.MS_REMOUNT), ""); err != nil { -- return err -+ dest, err = securejoin.SecureJoin(rootfs, dest) -+ if err != nil { -+ return err -+ } - } -- return nil -+ -+ return libcontainerUtils.Mount(m.Source, dest, m.Device, uintptr(m.Flags|syscall.MS_REMOUNT), "") - } - - // Do the mount operation followed by additional mounts required to take care -@@ -832,6 +842,7 @@ func mountPropagate(m *configs.Mount, rootfs string, mountLabel string) error { - dest = m.Destination - data = label.FormatMountLabel(m.Data, mountLabel) - flags = m.Flags -+ err error - ) - if libcontainerUtils.CleanPath(dest) == "/dev" { - flags &= ^syscall.MS_RDONLY -@@ -839,15 +850,18 @@ func mountPropagate(m *configs.Mount, rootfs string, mountLabel string) error { - - copyUp := m.Extensions&configs.EXT_COPYUP == configs.EXT_COPYUP - if !(copyUp || strings.HasPrefix(dest, rootfs)) { -- dest = filepath.Join(rootfs, dest) -+ dest, err = securejoin.SecureJoin(rootfs, dest) -+ if err != nil { -+ return err -+ } - } - -- if err := syscall.Mount(m.Source, dest, m.Device, uintptr(flags), data); err != nil { -+ if err = libcontainerUtils.Mount(m.Source, dest, m.Device, uintptr(flags), data); err != nil { - return err - } - - for _, pflag := range m.PropagationFlags { -- if err := syscall.Mount("", dest, "", uintptr(pflag), ""); err != nil { -+ if err := libcontainerUtils.Mount("", dest, "", uintptr(pflag), ""); err != nil { - return err - } - } -diff --git a/libcontainer/utils/utils.go b/libcontainer/utils/utils.go -index 2b35b9a7..bdd13d49 100644 ---- a/libcontainer/utils/utils.go -+++ b/libcontainer/utils/utils.go -@@ -4,18 +4,25 @@ import ( - "crypto/rand" - "encoding/hex" - "encoding/json" -+ "fmt" - "io" - "os" - "path/filepath" -+ "strconv" - "strings" - "syscall" - "unsafe" -+ -+ securejoin "github.com/cyphar/filepath-securejoin" -+ "golang.org/x/sys/unix" - ) - - const ( - exitSignalOffset = 128 - ) - -+var ConfigRootfs string -+ - // GenerateRandomName returns a new name joined with a prefix. This size - // specified is used to truncate the randomly generated value - func GenerateRandomName(prefix string, size int) (string, error) { -@@ -124,3 +131,65 @@ func Annotations(labels []string) (bundle string, userAnnotations map[string]str - func GetIntSize() int { - return int(unsafe.Sizeof(1)) - } -+ -+func Mount(source, target, fstype string, flags uintptr, data string) error { -+ if ConfigRootfs == "" { -+ panic("rootfs is not inited from config.json") -+ } -+ return WithProcfd(ConfigRootfs, target, func(procfd string) error { -+ return syscall.Mount(source, procfd, fstype, flags, data) -+ }) -+} -+ -+// stripRoot returns the passed path, stripping the root path if it was -+// (lexicially) inside it. Note that both passed paths will always be treated -+// as absolute, and the returned path will also always be absolute. In -+// addition, the paths are cleaned before stripping the root. -+func stripRoot(root, path string) string { -+ // Make the paths clean and absolute. -+ root, path = CleanPath("/"+root), CleanPath("/"+path) -+ switch { -+ case path == root: -+ path = "/" -+ case root == "/": -+ // do nothing -+ case strings.HasPrefix(path, root+"/"): -+ path = strings.TrimPrefix(path, root+"/") -+ default: -+ panic("invalid path to mount, path not begin with rootfs") -+ } -+ return CleanPath("/" + path) -+} -+ -+// WithProcfd runs the passed closure with a procfd path (/proc/self/fd/...) -+// corresponding to the unsafePath resolved within the root. Before passing the -+// fd, this path is verified to have been inside the root -- so operating on it -+// through the passed fdpath should be safe. Do not access this path through -+// the original path strings, and do not attempt to use the pathname outside of -+// the passed closure (the file handle will be freed once the closure returns). -+func WithProcfd(root, unsafePath string, fn func(procfd string) error) error { -+ // Remove the root then forcefully resolve inside the root. -+ unsafePath = stripRoot(root, unsafePath) -+ path, err := securejoin.SecureJoin(root, unsafePath) -+ if err != nil { -+ return fmt.Errorf("resolving path inside rootfs failed: %v", err) -+ } -+ -+ // Open the target path. -+ fh, err := os.OpenFile(path, unix.O_PATH|unix.O_CLOEXEC, 0) -+ if err != nil { -+ return fmt.Errorf("open o_path procfd: %w", err) -+ } -+ defer fh.Close() -+ -+ // Double-check the path is the one we expected. -+ procfd := "/proc/self/fd/" + strconv.Itoa(int(fh.Fd())) -+ if realpath, err := os.Readlink(procfd); err != nil { -+ return fmt.Errorf("procfd verification failed: %w", err) -+ } else if realpath != path { -+ return fmt.Errorf("possibly malicious path detected -- refusing to operate on %s", realpath) -+ } -+ -+ // Run the closure. -+ return fn(procfd) -+} -diff --git a/vendor/github.com/cyphar/filepath-securejoin/.travis.yml b/vendor/github.com/cyphar/filepath-securejoin/.travis.yml -new file mode 100644 -index 00000000..3938f383 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/.travis.yml -@@ -0,0 +1,19 @@ -+# Copyright (C) 2017 SUSE LLC. All rights reserved. -+# Use of this source code is governed by a BSD-style -+# license that can be found in the LICENSE file. -+ -+language: go -+go: -+ - 1.7.x -+ - 1.8.x -+ - tip -+ -+os: -+ - linux -+ - osx -+ -+script: -+ - go test -cover -v ./... -+ -+notifications: -+ email: false -diff --git a/vendor/github.com/cyphar/filepath-securejoin/LICENSE b/vendor/github.com/cyphar/filepath-securejoin/LICENSE -new file mode 100644 -index 00000000..bec842f2 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/LICENSE -@@ -0,0 +1,28 @@ -+Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. -+Copyright (C) 2017 SUSE LLC. All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ * Redistributions of source code must retain the above copyright -+notice, this list of conditions and the following disclaimer. -+ * Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the following disclaimer -+in the documentation and/or other materials provided with the -+distribution. -+ * Neither the name of Google Inc. nor the names of its -+contributors may be used to endorse or promote products derived from -+this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/github.com/cyphar/filepath-securejoin/README.md b/vendor/github.com/cyphar/filepath-securejoin/README.md -new file mode 100644 -index 00000000..49b2baa9 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/README.md -@@ -0,0 +1,65 @@ -+## `filepath-securejoin` ## -+ -+[![Build Status](https://travis-ci.org/cyphar/filepath-securejoin.svg?branch=master)](https://travis-ci.org/cyphar/filepath-securejoin) -+ -+An implementation of `SecureJoin`, a [candidate for inclusion in the Go -+standard library][go#20126]. The purpose of this function is to be a "secure" -+alternative to `filepath.Join`, and in particular it provides certain -+guarantees that are not provided by `filepath.Join`. -+ -+This is the function prototype: -+ -+```go -+func SecureJoin(root, unsafePath string) (string, error) -+``` -+ -+This library **guarantees** the following: -+ -+* If no error is set, the resulting string **must** be a child path of -+ `SecureJoin` and will not contain any symlink path components (they will all -+ be expanded). -+ -+* When expanding symlinks, all symlink path components **must** be resolved -+ relative to the provided root. In particular, this can be considered a -+ userspace implementation of how `chroot(2)` operates on file paths. Note that -+ these symlinks will **not** be expanded lexically (`filepath.Clean` is not -+ called on the input before processing). -+ -+* Non-existant path components are unaffected by `SecureJoin` (similar to -+ `filepath.EvalSymlinks`'s semantics). -+ -+* The returned path will always be `filepath.Clean`ed and thus not contain any -+ `..` components. -+ -+A (trivial) implementation of this function on GNU/Linux systems could be done -+with the following (note that this requires root privileges and is far more -+opaque than the implementation in this library, and also requires that -+`readlink` is inside the `root` path): -+ -+```go -+package securejoin -+ -+import ( -+ "os/exec" -+ "path/filepath" -+) -+ -+func SecureJoin(root, unsafePath string) (string, error) { -+ unsafePath = string(filepath.Separator) + unsafePath -+ cmd := exec.Command("chroot", root, -+ "readlink", "--canonicalize-missing", "--no-newline", unsafePath) -+ output, err := cmd.CombinedOutput() -+ if err != nil { -+ return "", err -+ } -+ expanded := string(output) -+ return filepath.Join(root, expanded), nil -+} -+``` -+ -+[go#20126]: https://github.com/golang/go/issues/20126 -+ -+### License ### -+ -+The license of this project is the same as Go, which is a BSD 3-clause license -+available in the `LICENSE` file. -diff --git a/vendor/github.com/cyphar/filepath-securejoin/VERSION b/vendor/github.com/cyphar/filepath-securejoin/VERSION -new file mode 100644 -index 00000000..ee1372d3 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/VERSION -@@ -0,0 +1 @@ -+0.2.2 -diff --git a/vendor/github.com/cyphar/filepath-securejoin/join.go b/vendor/github.com/cyphar/filepath-securejoin/join.go -new file mode 100644 -index 00000000..c4ca3d71 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/join.go -@@ -0,0 +1,134 @@ -+// Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. -+// Copyright (C) 2017 SUSE LLC. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Package securejoin is an implementation of the hopefully-soon-to-be-included -+// SecureJoin helper that is meant to be part of the "path/filepath" package. -+// The purpose of this project is to provide a PoC implementation to make the -+// SecureJoin proposal (https://github.com/golang/go/issues/20126) more -+// tangible. -+package securejoin -+ -+import ( -+ "bytes" -+ "os" -+ "path/filepath" -+ "strings" -+ "syscall" -+ -+ "github.com/pkg/errors" -+) -+ -+// ErrSymlinkLoop is returned by SecureJoinVFS when too many symlinks have been -+// evaluated in attempting to securely join the two given paths. -+var ErrSymlinkLoop = errors.Wrap(syscall.ELOOP, "secure join") -+ -+// IsNotExist tells you if err is an error that implies that either the path -+// accessed does not exist (or path components don't exist). This is -+// effectively a more broad version of os.IsNotExist. -+func IsNotExist(err error) bool { -+ // If it's a bone-fide ENOENT just bail. -+ if os.IsNotExist(errors.Cause(err)) { -+ return true -+ } -+ -+ // Check that it's not actually an ENOTDIR, which in some cases is a more -+ // convoluted case of ENOENT (usually involving weird paths). -+ var errno error -+ switch err := errors.Cause(err).(type) { -+ case *os.PathError: -+ errno = err.Err -+ case *os.LinkError: -+ errno = err.Err -+ case *os.SyscallError: -+ errno = err.Err -+ } -+ return errno == syscall.ENOTDIR || errno == syscall.ENOENT -+} -+ -+// SecureJoinVFS joins the two given path components (similar to Join) except -+// that the returned path is guaranteed to be scoped inside the provided root -+// path (when evaluated). Any symbolic links in the path are evaluated with the -+// given root treated as the root of the filesystem, similar to a chroot. The -+// filesystem state is evaluated through the given VFS interface (if nil, the -+// standard os.* family of functions are used). -+// -+// Note that the guarantees provided by this function only apply if the path -+// components in the returned string are not modified (in other words are not -+// replaced with symlinks on the filesystem) after this function has returned. -+// Such a symlink race is necessarily out-of-scope of SecureJoin. -+func SecureJoinVFS(root, unsafePath string, vfs VFS) (string, error) { -+ // Use the os.* VFS implementation if none was specified. -+ if vfs == nil { -+ vfs = osVFS{} -+ } -+ -+ var path bytes.Buffer -+ n := 0 -+ for unsafePath != "" { -+ if n > 255 { -+ return "", ErrSymlinkLoop -+ } -+ -+ // Next path component, p. -+ i := strings.IndexRune(unsafePath, filepath.Separator) -+ var p string -+ if i == -1 { -+ p, unsafePath = unsafePath, "" -+ } else { -+ p, unsafePath = unsafePath[:i], unsafePath[i+1:] -+ } -+ -+ // Create a cleaned path, using the lexical semantics of /../a, to -+ // create a "scoped" path component which can safely be joined to fullP -+ // for evaluation. At this point, path.String() doesn't contain any -+ // symlink components. -+ cleanP := filepath.Clean(string(filepath.Separator) + path.String() + p) -+ if cleanP == string(filepath.Separator) { -+ path.Reset() -+ continue -+ } -+ fullP := filepath.Clean(root + cleanP) -+ -+ // Figure out whether the path is a symlink. -+ fi, err := vfs.Lstat(fullP) -+ if err != nil && !IsNotExist(err) { -+ return "", err -+ } -+ // Treat non-existent path components the same as non-symlinks (we -+ // can't do any better here). -+ if IsNotExist(err) || fi.Mode()&os.ModeSymlink == 0 { -+ path.WriteString(p) -+ path.WriteRune(filepath.Separator) -+ continue -+ } -+ -+ // Only increment when we actually dereference a link. -+ n++ -+ -+ // It's a symlink, expand it by prepending it to the yet-unparsed path. -+ dest, err := vfs.Readlink(fullP) -+ if err != nil { -+ return "", err -+ } -+ // Absolute symlinks reset any work we've already done. -+ if filepath.IsAbs(dest) { -+ path.Reset() -+ } -+ unsafePath = dest + string(filepath.Separator) + unsafePath -+ } -+ -+ // We have to clean path.String() here because it may contain '..' -+ // components that are entirely lexical, but would be misleading otherwise. -+ // And finally do a final clean to ensure that root is also lexically -+ // clean. -+ fullP := filepath.Clean(string(filepath.Separator) + path.String()) -+ return filepath.Clean(root + fullP), nil -+} -+ -+// SecureJoin is a wrapper around SecureJoinVFS that just uses the os.* library -+// of functions as the VFS. If in doubt, use this function over SecureJoinVFS. -+func SecureJoin(root, unsafePath string) (string, error) { -+ return SecureJoinVFS(root, unsafePath, nil) -+} -diff --git a/vendor/github.com/cyphar/filepath-securejoin/vendor.conf b/vendor/github.com/cyphar/filepath-securejoin/vendor.conf -new file mode 100644 -index 00000000..66bb574b ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/vendor.conf -@@ -0,0 +1 @@ -+github.com/pkg/errors v0.8.0 -diff --git a/vendor/github.com/cyphar/filepath-securejoin/vfs.go b/vendor/github.com/cyphar/filepath-securejoin/vfs.go -new file mode 100644 -index 00000000..a82a5eae ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/vfs.go -@@ -0,0 +1,41 @@ -+// Copyright (C) 2017 SUSE LLC. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package securejoin -+ -+import "os" -+ -+// In future this should be moved into a separate package, because now there -+// are several projects (umoci and go-mtree) that are using this sort of -+// interface. -+ -+// VFS is the minimal interface necessary to use SecureJoinVFS. A nil VFS is -+// equivalent to using the standard os.* family of functions. This is mainly -+// used for the purposes of mock testing, but also can be used to otherwise use -+// SecureJoin with VFS-like system. -+type VFS interface { -+ // Lstat returns a FileInfo describing the named file. If the file is a -+ // symbolic link, the returned FileInfo describes the symbolic link. Lstat -+ // makes no attempt to follow the link. These semantics are identical to -+ // os.Lstat. -+ Lstat(name string) (os.FileInfo, error) -+ -+ // Readlink returns the destination of the named symbolic link. These -+ // semantics are identical to os.Readlink. -+ Readlink(name string) (string, error) -+} -+ -+// osVFS is the "nil" VFS, in that it just passes everything through to the os -+// module. -+type osVFS struct{} -+ -+// Lstat returns a FileInfo describing the named file. If the file is a -+// symbolic link, the returned FileInfo describes the symbolic link. Lstat -+// makes no attempt to follow the link. These semantics are identical to -+// os.Lstat. -+func (o osVFS) Lstat(name string) (os.FileInfo, error) { return os.Lstat(name) } -+ -+// Readlink returns the destination of the named symbolic link. These -+// semantics are identical to os.Readlink. -+func (o osVFS) Readlink(name string) (string, error) { return os.Readlink(name) } -diff --git a/vendor/github.com/pkg/errors/.gitignore b/vendor/github.com/pkg/errors/.gitignore -new file mode 100644 -index 00000000..daf913b1 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/.gitignore -@@ -0,0 +1,24 @@ -+# Compiled Object files, Static and Dynamic libs (Shared Objects) -+*.o -+*.a -+*.so -+ -+# Folders -+_obj -+_test -+ -+# Architecture specific extensions/prefixes -+*.[568vq] -+[568vq].out -+ -+*.cgo1.go -+*.cgo2.c -+_cgo_defun.c -+_cgo_gotypes.go -+_cgo_export.* -+ -+_testmain.go -+ -+*.exe -+*.test -+*.prof -diff --git a/vendor/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml -new file mode 100644 -index 00000000..9159de03 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/.travis.yml -@@ -0,0 +1,10 @@ -+language: go -+go_import_path: github.com/pkg/errors -+go: -+ - 1.11.x -+ - 1.12.x -+ - 1.13.x -+ - tip -+ -+script: -+ - make check -diff --git a/vendor/github.com/pkg/errors/LICENSE b/vendor/github.com/pkg/errors/LICENSE -new file mode 100644 -index 00000000..835ba3e7 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/LICENSE -@@ -0,0 +1,23 @@ -+Copyright (c) 2015, Dave Cheney -+All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are met: -+ -+* Redistributions of source code must retain the above copyright notice, this -+ list of conditions and the following disclaimer. -+ -+* Redistributions in binary form must reproduce the above copyright notice, -+ this list of conditions and the following disclaimer in the documentation -+ and/or other materials provided with the distribution. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/github.com/pkg/errors/Makefile b/vendor/github.com/pkg/errors/Makefile -new file mode 100644 -index 00000000..ce9d7cde ---- /dev/null -+++ b/vendor/github.com/pkg/errors/Makefile -@@ -0,0 +1,44 @@ -+PKGS := github.com/pkg/errors -+SRCDIRS := $(shell go list -f '{{.Dir}}' $(PKGS)) -+GO := go -+ -+check: test vet gofmt misspell unconvert staticcheck ineffassign unparam -+ -+test: -+ $(GO) test $(PKGS) -+ -+vet: | test -+ $(GO) vet $(PKGS) -+ -+staticcheck: -+ $(GO) get honnef.co/go/tools/cmd/staticcheck -+ staticcheck -checks all $(PKGS) -+ -+misspell: -+ $(GO) get github.com/client9/misspell/cmd/misspell -+ misspell \ -+ -locale GB \ -+ -error \ -+ *.md *.go -+ -+unconvert: -+ $(GO) get github.com/mdempsky/unconvert -+ unconvert -v $(PKGS) -+ -+ineffassign: -+ $(GO) get github.com/gordonklaus/ineffassign -+ find $(SRCDIRS) -name '*.go' | xargs ineffassign -+ -+pedantic: check errcheck -+ -+unparam: -+ $(GO) get mvdan.cc/unparam -+ unparam ./... -+ -+errcheck: -+ $(GO) get github.com/kisielk/errcheck -+ errcheck $(PKGS) -+ -+gofmt: -+ @echo Checking code is gofmted -+ @test -z "$(shell gofmt -s -l -d -e $(SRCDIRS) | tee /dev/stderr)" -diff --git a/vendor/github.com/pkg/errors/README.md b/vendor/github.com/pkg/errors/README.md -new file mode 100644 -index 00000000..54dfdcb1 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/README.md -@@ -0,0 +1,59 @@ -+# errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![AppVeyor](https://ci.appveyor.com/api/projects/status/b98mptawhudj53ep/branch/master?svg=true)](https://ci.appveyor.com/project/davecheney/errors/branch/master) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.svg)](http://godoc.org/github.com/pkg/errors) [![Report card](https://goreportcard.com/badge/github.com/pkg/errors)](https://goreportcard.com/report/github.com/pkg/errors) [![Sourcegraph](https://sourcegraph.com/github.com/pkg/errors/-/badge.svg)](https://sourcegraph.com/github.com/pkg/errors?badge) -+ -+Package errors provides simple error handling primitives. -+ -+`go get github.com/pkg/errors` -+ -+The traditional error handling idiom in Go is roughly akin to -+```go -+if err != nil { -+ return err -+} -+``` -+which applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error. -+ -+## Adding context to an error -+ -+The errors.Wrap function returns a new error that adds context to the original error. For example -+```go -+_, err := ioutil.ReadAll(r) -+if err != nil { -+ return errors.Wrap(err, "read failed") -+} -+``` -+## Retrieving the cause of an error -+ -+Using `errors.Wrap` constructs a stack of errors, adding context to the preceding error. Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection. Any error value which implements this interface can be inspected by `errors.Cause`. -+```go -+type causer interface { -+ Cause() error -+} -+``` -+`errors.Cause` will recursively retrieve the topmost error which does not implement `causer`, which is assumed to be the original cause. For example: -+```go -+switch err := errors.Cause(err).(type) { -+case *MyError: -+ // handle specifically -+default: -+ // unknown error -+} -+``` -+ -+[Read the package documentation for more information](https://godoc.org/github.com/pkg/errors). -+ -+## Roadmap -+ -+With the upcoming [Go2 error proposals](https://go.googlesource.com/proposal/+/master/design/go2draft.md) this package is moving into maintenance mode. The roadmap for a 1.0 release is as follows: -+ -+- 0.9. Remove pre Go 1.9 and Go 1.10 support, address outstanding pull requests (if possible) -+- 1.0. Final release. -+ -+## Contributing -+ -+Because of the Go2 errors changes, this package is not accepting proposals for new functionality. With that said, we welcome pull requests, bug fixes and issue reports. -+ -+Before sending a PR, please discuss your change by raising an issue. -+ -+## License -+ -+BSD-2-Clause -diff --git a/vendor/github.com/pkg/errors/appveyor.yml b/vendor/github.com/pkg/errors/appveyor.yml -new file mode 100644 -index 00000000..a932eade ---- /dev/null -+++ b/vendor/github.com/pkg/errors/appveyor.yml -@@ -0,0 +1,32 @@ -+version: build-{build}.{branch} -+ -+clone_folder: C:\gopath\src\github.com\pkg\errors -+shallow_clone: true # for startup speed -+ -+environment: -+ GOPATH: C:\gopath -+ -+platform: -+ - x64 -+ -+# http://www.appveyor.com/docs/installed-software -+install: -+ # some helpful output for debugging builds -+ - go version -+ - go env -+ # pre-installed MinGW at C:\MinGW is 32bit only -+ # but MSYS2 at C:\msys64 has mingw64 -+ - set PATH=C:\msys64\mingw64\bin;%PATH% -+ - gcc --version -+ - g++ --version -+ -+build_script: -+ - go install -v ./... -+ -+test_script: -+ - set PATH=C:\gopath\bin;%PATH% -+ - go test -v ./... -+ -+#artifacts: -+# - path: '%GOPATH%\bin\*.exe' -+deploy: off -diff --git a/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go -new file mode 100644 -index 00000000..161aea25 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/errors.go -@@ -0,0 +1,288 @@ -+// Package errors provides simple error handling primitives. -+// -+// The traditional error handling idiom in Go is roughly akin to -+// -+// if err != nil { -+// return err -+// } -+// -+// which when applied recursively up the call stack results in error reports -+// without context or debugging information. The errors package allows -+// programmers to add context to the failure path in their code in a way -+// that does not destroy the original value of the error. -+// -+// Adding context to an error -+// -+// The errors.Wrap function returns a new error that adds context to the -+// original error by recording a stack trace at the point Wrap is called, -+// together with the supplied message. For example -+// -+// _, err := ioutil.ReadAll(r) -+// if err != nil { -+// return errors.Wrap(err, "read failed") -+// } -+// -+// If additional control is required, the errors.WithStack and -+// errors.WithMessage functions destructure errors.Wrap into its component -+// operations: annotating an error with a stack trace and with a message, -+// respectively. -+// -+// Retrieving the cause of an error -+// -+// Using errors.Wrap constructs a stack of errors, adding context to the -+// preceding error. Depending on the nature of the error it may be necessary -+// to reverse the operation of errors.Wrap to retrieve the original error -+// for inspection. Any error value which implements this interface -+// -+// type causer interface { -+// Cause() error -+// } -+// -+// can be inspected by errors.Cause. errors.Cause will recursively retrieve -+// the topmost error that does not implement causer, which is assumed to be -+// the original cause. For example: -+// -+// switch err := errors.Cause(err).(type) { -+// case *MyError: -+// // handle specifically -+// default: -+// // unknown error -+// } -+// -+// Although the causer interface is not exported by this package, it is -+// considered a part of its stable public interface. -+// -+// Formatted printing of errors -+// -+// All error values returned from this package implement fmt.Formatter and can -+// be formatted by the fmt package. The following verbs are supported: -+// -+// %s print the error. If the error has a Cause it will be -+// printed recursively. -+// %v see %s -+// %+v extended format. Each Frame of the error's StackTrace will -+// be printed in detail. -+// -+// Retrieving the stack trace of an error or wrapper -+// -+// New, Errorf, Wrap, and Wrapf record a stack trace at the point they are -+// invoked. This information can be retrieved with the following interface: -+// -+// type stackTracer interface { -+// StackTrace() errors.StackTrace -+// } -+// -+// The returned errors.StackTrace type is defined as -+// -+// type StackTrace []Frame -+// -+// The Frame type represents a call site in the stack trace. Frame supports -+// the fmt.Formatter interface that can be used for printing information about -+// the stack trace of this error. For example: -+// -+// if err, ok := err.(stackTracer); ok { -+// for _, f := range err.StackTrace() { -+// fmt.Printf("%+s:%d\n", f, f) -+// } -+// } -+// -+// Although the stackTracer interface is not exported by this package, it is -+// considered a part of its stable public interface. -+// -+// See the documentation for Frame.Format for more details. -+package errors -+ -+import ( -+ "fmt" -+ "io" -+) -+ -+// New returns an error with the supplied message. -+// New also records the stack trace at the point it was called. -+func New(message string) error { -+ return &fundamental{ -+ msg: message, -+ stack: callers(), -+ } -+} -+ -+// Errorf formats according to a format specifier and returns the string -+// as a value that satisfies error. -+// Errorf also records the stack trace at the point it was called. -+func Errorf(format string, args ...interface{}) error { -+ return &fundamental{ -+ msg: fmt.Sprintf(format, args...), -+ stack: callers(), -+ } -+} -+ -+// fundamental is an error that has a message and a stack, but no caller. -+type fundamental struct { -+ msg string -+ *stack -+} -+ -+func (f *fundamental) Error() string { return f.msg } -+ -+func (f *fundamental) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ io.WriteString(s, f.msg) -+ f.stack.Format(s, verb) -+ return -+ } -+ fallthrough -+ case 's': -+ io.WriteString(s, f.msg) -+ case 'q': -+ fmt.Fprintf(s, "%q", f.msg) -+ } -+} -+ -+// WithStack annotates err with a stack trace at the point WithStack was called. -+// If err is nil, WithStack returns nil. -+func WithStack(err error) error { -+ if err == nil { -+ return nil -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+type withStack struct { -+ error -+ *stack -+} -+ -+func (w *withStack) Cause() error { return w.error } -+ -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withStack) Unwrap() error { return w.error } -+ -+func (w *withStack) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ fmt.Fprintf(s, "%+v", w.Cause()) -+ w.stack.Format(s, verb) -+ return -+ } -+ fallthrough -+ case 's': -+ io.WriteString(s, w.Error()) -+ case 'q': -+ fmt.Fprintf(s, "%q", w.Error()) -+ } -+} -+ -+// Wrap returns an error annotating err with a stack trace -+// at the point Wrap is called, and the supplied message. -+// If err is nil, Wrap returns nil. -+func Wrap(err error, message string) error { -+ if err == nil { -+ return nil -+ } -+ err = &withMessage{ -+ cause: err, -+ msg: message, -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+// Wrapf returns an error annotating err with a stack trace -+// at the point Wrapf is called, and the format specifier. -+// If err is nil, Wrapf returns nil. -+func Wrapf(err error, format string, args ...interface{}) error { -+ if err == nil { -+ return nil -+ } -+ err = &withMessage{ -+ cause: err, -+ msg: fmt.Sprintf(format, args...), -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+// WithMessage annotates err with a new message. -+// If err is nil, WithMessage returns nil. -+func WithMessage(err error, message string) error { -+ if err == nil { -+ return nil -+ } -+ return &withMessage{ -+ cause: err, -+ msg: message, -+ } -+} -+ -+// WithMessagef annotates err with the format specifier. -+// If err is nil, WithMessagef returns nil. -+func WithMessagef(err error, format string, args ...interface{}) error { -+ if err == nil { -+ return nil -+ } -+ return &withMessage{ -+ cause: err, -+ msg: fmt.Sprintf(format, args...), -+ } -+} -+ -+type withMessage struct { -+ cause error -+ msg string -+} -+ -+func (w *withMessage) Error() string { return w.msg + ": " + w.cause.Error() } -+func (w *withMessage) Cause() error { return w.cause } -+ -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withMessage) Unwrap() error { return w.cause } -+ -+func (w *withMessage) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ fmt.Fprintf(s, "%+v\n", w.Cause()) -+ io.WriteString(s, w.msg) -+ return -+ } -+ fallthrough -+ case 's', 'q': -+ io.WriteString(s, w.Error()) -+ } -+} -+ -+// Cause returns the underlying cause of the error, if possible. -+// An error value has a cause if it implements the following -+// interface: -+// -+// type causer interface { -+// Cause() error -+// } -+// -+// If the error does not implement Cause, the original error will -+// be returned. If the error is nil, nil will be returned without further -+// investigation. -+func Cause(err error) error { -+ type causer interface { -+ Cause() error -+ } -+ -+ for err != nil { -+ cause, ok := err.(causer) -+ if !ok { -+ break -+ } -+ err = cause.Cause() -+ } -+ return err -+} -diff --git a/vendor/github.com/pkg/errors/go113.go b/vendor/github.com/pkg/errors/go113.go -new file mode 100644 -index 00000000..be0d10d0 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/go113.go -@@ -0,0 +1,38 @@ -+// +build go1.13 -+ -+package errors -+ -+import ( -+ stderrors "errors" -+) -+ -+// Is reports whether any error in err's chain matches target. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error is considered to match a target if it is equal to that target or if -+// it implements a method Is(error) bool such that Is(target) returns true. -+func Is(err, target error) bool { return stderrors.Is(err, target) } -+ -+// As finds the first error in err's chain that matches target, and if so, sets -+// target to that error value and returns true. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error matches target if the error's concrete value is assignable to the value -+// pointed to by target, or if the error has a method As(interface{}) bool such that -+// As(target) returns true. In the latter case, the As method is responsible for -+// setting target. -+// -+// As will panic if target is not a non-nil pointer to either a type that implements -+// error, or to any interface type. As returns false if err is nil. -+func As(err error, target interface{}) bool { return stderrors.As(err, target) } -+ -+// Unwrap returns the result of calling the Unwrap method on err, if err's -+// type contains an Unwrap method returning error. -+// Otherwise, Unwrap returns nil. -+func Unwrap(err error) error { -+ return stderrors.Unwrap(err) -+} -diff --git a/vendor/github.com/pkg/errors/stack.go b/vendor/github.com/pkg/errors/stack.go -new file mode 100644 -index 00000000..779a8348 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/stack.go -@@ -0,0 +1,177 @@ -+package errors -+ -+import ( -+ "fmt" -+ "io" -+ "path" -+ "runtime" -+ "strconv" -+ "strings" -+) -+ -+// Frame represents a program counter inside a stack frame. -+// For historical reasons if Frame is interpreted as a uintptr -+// its value represents the program counter + 1. -+type Frame uintptr -+ -+// pc returns the program counter for this frame; -+// multiple frames may have the same PC value. -+func (f Frame) pc() uintptr { return uintptr(f) - 1 } -+ -+// file returns the full path to the file that contains the -+// function for this Frame's pc. -+func (f Frame) file() string { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return "unknown" -+ } -+ file, _ := fn.FileLine(f.pc()) -+ return file -+} -+ -+// line returns the line number of source code of the -+// function for this Frame's pc. -+func (f Frame) line() int { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return 0 -+ } -+ _, line := fn.FileLine(f.pc()) -+ return line -+} -+ -+// name returns the name of this function, if known. -+func (f Frame) name() string { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return "unknown" -+ } -+ return fn.Name() -+} -+ -+// Format formats the frame according to the fmt.Formatter interface. -+// -+// %s source file -+// %d source line -+// %n function name -+// %v equivalent to %s:%d -+// -+// Format accepts flags that alter the printing of some verbs, as follows: -+// -+// %+s function name and path of source file relative to the compile time -+// GOPATH separated by \n\t (\n\t) -+// %+v equivalent to %+s:%d -+func (f Frame) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 's': -+ switch { -+ case s.Flag('+'): -+ io.WriteString(s, f.name()) -+ io.WriteString(s, "\n\t") -+ io.WriteString(s, f.file()) -+ default: -+ io.WriteString(s, path.Base(f.file())) -+ } -+ case 'd': -+ io.WriteString(s, strconv.Itoa(f.line())) -+ case 'n': -+ io.WriteString(s, funcname(f.name())) -+ case 'v': -+ f.Format(s, 's') -+ io.WriteString(s, ":") -+ f.Format(s, 'd') -+ } -+} -+ -+// MarshalText formats a stacktrace Frame as a text string. The output is the -+// same as that of fmt.Sprintf("%+v", f), but without newlines or tabs. -+func (f Frame) MarshalText() ([]byte, error) { -+ name := f.name() -+ if name == "unknown" { -+ return []byte(name), nil -+ } -+ return []byte(fmt.Sprintf("%s %s:%d", name, f.file(), f.line())), nil -+} -+ -+// StackTrace is stack of Frames from innermost (newest) to outermost (oldest). -+type StackTrace []Frame -+ -+// Format formats the stack of Frames according to the fmt.Formatter interface. -+// -+// %s lists source files for each Frame in the stack -+// %v lists the source file and line number for each Frame in the stack -+// -+// Format accepts flags that alter the printing of some verbs, as follows: -+// -+// %+v Prints filename, function, and line number for each Frame in the stack. -+func (st StackTrace) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ switch { -+ case s.Flag('+'): -+ for _, f := range st { -+ io.WriteString(s, "\n") -+ f.Format(s, verb) -+ } -+ case s.Flag('#'): -+ fmt.Fprintf(s, "%#v", []Frame(st)) -+ default: -+ st.formatSlice(s, verb) -+ } -+ case 's': -+ st.formatSlice(s, verb) -+ } -+} -+ -+// formatSlice will format this StackTrace into the given buffer as a slice of -+// Frame, only valid when called with '%s' or '%v'. -+func (st StackTrace) formatSlice(s fmt.State, verb rune) { -+ io.WriteString(s, "[") -+ for i, f := range st { -+ if i > 0 { -+ io.WriteString(s, " ") -+ } -+ f.Format(s, verb) -+ } -+ io.WriteString(s, "]") -+} -+ -+// stack represents a stack of program counters. -+type stack []uintptr -+ -+func (s *stack) Format(st fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ switch { -+ case st.Flag('+'): -+ for _, pc := range *s { -+ f := Frame(pc) -+ fmt.Fprintf(st, "\n%+v", f) -+ } -+ } -+ } -+} -+ -+func (s *stack) StackTrace() StackTrace { -+ f := make([]Frame, len(*s)) -+ for i := 0; i < len(f); i++ { -+ f[i] = Frame((*s)[i]) -+ } -+ return f -+} -+ -+func callers() *stack { -+ const depth = 32 -+ var pcs [depth]uintptr -+ n := runtime.Callers(3, pcs[:]) -+ var st stack = pcs[0:n] -+ return &st -+} -+ -+// funcname removes the path prefix component of a function's name reported by func.Name(). -+func funcname(name string) string { -+ i := strings.LastIndex(name, "/") -+ name = name[i+1:] -+ i = strings.Index(name, ".") -+ return name[i+1:] -+} --- -2.27.0 - diff --git a/patch/0128-runc-optimize-nsexec-logging.patch b/patch/0128-runc-optimize-nsexec-logging.patch deleted file mode 100644 index 341fa907661e47725d58d319e0368627cc6a0220..0000000000000000000000000000000000000000 --- a/patch/0128-runc-optimize-nsexec-logging.patch +++ /dev/null @@ -1,280 +0,0 @@ -From f59d2013c5b1e3a7a500023848c5a366301bddec Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Tue, 8 Jun 2021 17:08:59 +0800 -Subject: [PATCH] runc: optimize nsexec logging - -Conflict:NA -Reference:https://github.com/opencontainers/runc/pull/2034/commits - https://github.com/opencontainers/runc/commit/64bb59f5920b15d886cb2be52aede641fd4a047b - https://github.com/opencontainers/runc/commit/201d60c51d0b78afb780841443200a25d63493a6 - -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 21 ++++++++++ - libcontainer/logs/logs.go | 68 +++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 53 +++++++++++++++++++++++-- - libcontainer/process_linux.go | 3 ++ - 4 files changed, 142 insertions(+), 3 deletions(-) - create mode 100644 libcontainer/logs/logs.go - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 73192866..7be84a63 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -23,6 +23,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/criurpc" -+ "github.com/opencontainers/runc/libcontainer/logs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" - "github.com/syndtr/gocapability/capability" -@@ -309,6 +310,17 @@ func (c *linuxContainer) start(process *Process) error { - if err != nil { - return newSystemErrorWithCause(err, "creating new parent process") - } -+ -+ if logsDone := logs.ForwardLogs(); logsDone != nil { -+ defer func() { -+ select { -+ case <-logsDone: -+ case <-time.After(3 * time.Second): -+ logrus.Warnf("wait child close logfd timeout") -+ } -+ }() -+ } -+ - if err := parent.start(); err != nil { - printCgroupInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. -@@ -408,6 +420,9 @@ func (c *linuxContainer) newParentProcess(p *Process) (parentProcess, error) { - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new init pipe") - } -+ if err := logs.InitLogPipe(); err != nil { -+ return nil, fmt.Errorf("Unable to create the log pipe: %s", err) -+ } - cmd, err := c.commandTemplate(p, childPipe) - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new command template") -@@ -450,6 +465,12 @@ func (c *linuxContainer) commandTemplate(p *Process, childPipe *os.File) (*exec. - cmd.Env = append(cmd.Env, - fmt.Sprintf("_LIBCONTAINER_INITPIPE=%d", stdioFdCount+len(cmd.ExtraFiles)-1), - ) -+ -+ cmd.ExtraFiles = append(cmd.ExtraFiles, logs.ChildLogPipe) -+ cmd.Env = append(cmd.Env, -+ fmt.Sprintf("_LIBCONTAINER_LOGPIPE=%d", stdioFdCount+len(cmd.ExtraFiles)-1), -+ ) -+ - // NOTE: when running a container with no PID namespace and the parent process spawning the container is - // PID1 the pdeathsig is being delivered to the container's init process by the kernel for some reason - // even with the parent still running. -diff --git a/libcontainer/logs/logs.go b/libcontainer/logs/logs.go -new file mode 100644 -index 00000000..219fe382 ---- /dev/null -+++ b/libcontainer/logs/logs.go -@@ -0,0 +1,68 @@ -+package logs -+ -+import ( -+ "bufio" -+ "encoding/json" -+ "os" -+ -+ "github.com/Sirupsen/logrus" -+) -+ -+var ( -+ ParentLogPipe *os.File -+ ChildLogPipe *os.File -+) -+ -+func InitLogPipe() error { -+ var err error -+ if ParentLogPipe == nil { -+ ParentLogPipe, ChildLogPipe, err = os.Pipe() -+ } -+ return err -+} -+ -+func CloseChild() { -+ if ChildLogPipe != nil { -+ ChildLogPipe.Close() -+ ChildLogPipe = nil -+ } -+} -+ -+func ForwardLogs() chan error { -+ done := make(chan error, 1) -+ if ParentLogPipe == nil { -+ close(done) -+ return done -+ } -+ -+ s := bufio.NewScanner(ParentLogPipe) -+ go func() { -+ for s.Scan() { -+ processEntry(s.Bytes()) -+ } -+ if err := ParentLogPipe.Close(); err != nil { -+ logrus.Errorf("error closing log source: %v", err) -+ } -+ // The only error we want to return is when reading from -+ // logPipe has failed. -+ done <- s.Err() -+ close(done) -+ }() -+ -+ return done -+} -+ -+func processEntry(text []byte) { -+ if len(text) == 0 { -+ return -+ } -+ var jl struct { -+ Level string `json:"level"` -+ Msg string `json:"msg"` -+ } -+ if err := json.Unmarshal(text, &jl); err != nil { -+ logrus.Errorf("failed to decode %q to json: %v", text, err) -+ return -+ } -+ logrus.Errorf("error from child %s", jl.Msg) -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 4f73b1a1..8e059e09 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -77,6 +77,8 @@ struct nlconfig_t { - size_t oom_score_adj_len; - }; - -+int logfd; -+ - /* - * List of netlink message types sent to us as part of bootstrapping the init. - * These constants are defined in libcontainer/message_linux.go. -@@ -111,6 +113,26 @@ int setns(int fd, int nstype) - } - #endif - -+void write_log_with_info(const char *level, const char *function, int line, const char *format, ...) -+{ -+ static char message[1024]; -+ va_list args; -+ -+ if (logfd < 0 || level == NULL) -+ return; -+ -+ va_start(args, format); -+ if (vsnprintf(message, 1024, format, args) < 0) -+ return; -+ va_end(args); -+ -+ if (dprintf(logfd, "{\"level\":\"%s\", \"msg\": \"%s:%d %s\"}\n", level, function, line, message) < 0) -+ return; -+} -+ -+#define logerr(fmt, ...) \ -+ write_log_with_info("error", __FUNCTION__, __LINE__, fmt, ##__VA_ARGS__) -+ - /* XXX: This is ugly. */ - static int syncfd = -1; - -@@ -118,13 +140,13 @@ static int syncfd = -1; - #define bail(fmt, ...) \ - do { \ - int ret = __COUNTER__ + 1; \ -- fprintf(stderr, "nsenter: " fmt ": %m\n", ##__VA_ARGS__); \ -+ logerr("nsenter: " fmt ": %m", ##__VA_ARGS__); \ - if (syncfd >= 0) { \ - enum sync_t s = SYNC_ERR; \ - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) \ -- fprintf(stderr, "nsenter: failed: write(s)"); \ -+ logerr("nsenter: failed: write(s)"); \ - if (write(syncfd, &ret, sizeof(ret)) != sizeof(ret)) \ -- fprintf(stderr, "nsenter: failed: write(ret)"); \ -+ logerr("nsenter: failed: write(ret)"); \ - } \ - exit(ret); \ - } while(0) -@@ -259,6 +281,24 @@ static int initpipe(void) - return pipenum; - } - -+static void setup_logpipe(void) -+{ -+ char *logpipe, *endptr; -+ -+ logpipe = getenv("_LIBCONTAINER_LOGPIPE"); -+ if (logpipe == NULL || *logpipe == '\0') { -+ logfd = -1; -+ return; -+ } -+ -+ logfd = strtol(logpipe, &endptr, 10); -+ if (logpipe == endptr || *endptr != '\0') { -+ fprintf(stderr, "unable to parse _LIBCONTAINER_LOGPIPE, value: %s\n", logpipe); -+ /* It is too early to use bail */ -+ exit(1); -+ } -+} -+ - /* Returns the clone(2) flag for a namespace, given the name of a namespace. */ - static int nsflag(char *name) - { -@@ -442,6 +482,12 @@ void nsexec(void) - int sync_child_pipe[2], sync_grandchild_pipe[2]; - struct nlconfig_t config = {0}; - -+ /* -+ * Setup a pipe to send logs to the parent. This should happen -+ * first, because bail will use that pipe. -+ */ -+ setup_logpipe(); -+ - /* - * If we don't have an init pipe, just return to the go routine. - * We'll only get an init pipe for start or exec. -@@ -867,6 +913,7 @@ void nsexec(void) - /* Free netlink data. */ - nl_free(&config); - -+ close(logfd); - /* Finish executing, let the Go runtime take over. */ - return; - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 25fe30b5..0c5cd47c 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -18,6 +18,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" -+ "github.com/opencontainers/runc/libcontainer/logs" - "golang.org/x/sys/unix" - ) - -@@ -73,6 +74,7 @@ func (p *setnsProcess) start() (err error) { - defer p.parentPipe.Close() - err = p.cmd.Start() - p.childPipe.Close() -+ logs.CloseChild() - if err != nil { - return newSystemErrorWithCause(err, "starting setns process") - } -@@ -256,6 +258,7 @@ func (p *initProcess) start() error { - p.process.ops = p - p.childPipe.Close() - p.rootDir.Close() -+ logs.CloseChild() - if err != nil { - p.process.ops = nil - return newSystemErrorWithCause(err, "starting init process command") --- -2.27.0 - diff --git a/patch/0129-runc-improve-log-for-debugging.patch b/patch/0129-runc-improve-log-for-debugging.patch deleted file mode 100644 index 11bb7275616d51df80e989ef29b40d83bab4e4e1..0000000000000000000000000000000000000000 --- a/patch/0129-runc-improve-log-for-debugging.patch +++ /dev/null @@ -1,297 +0,0 @@ -From da07a376d48d2d589f8ce5669f93450da4f01521 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 25 Oct 2021 15:57:42 +0800 -Subject: [PATCH] runc: improve log for debugging - -add following logs for debugging -1. print pid and memory cgroup information when container init process - start fail. -2. improve error return in execSetns() -3. using logpipe to support for logging from child process -4. add log when init() finished in child process for debug - -Signed-off-by: xiadanni ---- - libcontainer/factory_linux.go | 13 +++++++++---- - libcontainer/init_linux.go | 4 +++- - libcontainer/logs/logs.go | 2 +- - libcontainer/nsenter/nsexec.c | 1 - - libcontainer/process_linux.go | 10 +++++----- - libcontainer/setns_init_linux.go | 5 +++++ - libcontainer/standard_init_linux.go | 18 ++++++++++++++---- - main.go | 6 +++++- - main_unix.go | 10 ++++++++++ - 9 files changed, 52 insertions(+), 17 deletions(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index fe9ce242..e4ef5184 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -4,15 +4,15 @@ package libcontainer - - import ( - "encoding/json" -+ "errors" - "fmt" -+ "io/ioutil" - "os" - "path/filepath" - "regexp" - "runtime/debug" - "strconv" - "syscall" -- "io/ioutil" -- "errors" - - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" -@@ -281,6 +281,11 @@ func (l *LinuxFactory) StartInitialization() (err error) { - defer consoleSocket.Close() - } - -+ logPipeFd, err2 := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err2 != nil { -+ logPipeFd = 0 -+ } -+ - // clear the current process's environment to clean any libcontainer - // specific env vars. - os.Clearenv() -@@ -303,7 +308,7 @@ func (l *LinuxFactory) StartInitialization() (err error) { - } - }() - -- i, err := newContainerInit(it, pipe, consoleSocket, rootfd) -+ i, err := newContainerInit(it, pipe, consoleSocket, rootfd, logPipeFd) - if err != nil { - return err - } -@@ -346,7 +351,7 @@ func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPa - var memSize int64 = int64(memorySwappiness) - if memSize < 0 { - memSize = 0 -- var memUSize uint64 = uint64(memSize-1) -+ var memUSize uint64 = uint64(memSize - 1) - compatState.Config.Cgroups.MemorySwappiness = &memUSize - needUpdate = true - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index ee632b4c..e9a83e9b 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -66,7 +66,7 @@ type initer interface { - Init() error - } - --func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDirFD int) (initer, error) { -+func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDirFD, logFd int) (initer, error) { - var config *initConfig - if err := json.NewDecoder(pipe).Decode(&config); err != nil { - return nil, err -@@ -81,6 +81,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - pipe: pipe, - consoleSocket: consoleSocket, - config: config, -+ logFd: logFd, - }, nil - case initStandard: - return &linuxStandardInit{ -@@ -89,6 +90,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - parentPid: syscall.Getppid(), - config: config, - stateDirFD: stateDirFD, -+ logFd: logFd, - }, nil - } - return nil, fmt.Errorf("unknown init type %q", t) -diff --git a/libcontainer/logs/logs.go b/libcontainer/logs/logs.go -index 219fe382..408a1480 100644 ---- a/libcontainer/logs/logs.go -+++ b/libcontainer/logs/logs.go -@@ -64,5 +64,5 @@ func processEntry(text []byte) { - logrus.Errorf("failed to decode %q to json: %v", text, err) - return - } -- logrus.Errorf("error from child %s", jl.Msg) -+ logrus.Infof("log from child: %s", jl.Msg) - } -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 8e059e09..0075b6e4 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -913,7 +913,6 @@ void nsexec(void) - /* Free netlink data. */ - nl_free(&config); - -- close(logfd); - /* Finish executing, let the Go runtime take over. */ - return; - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 0c5cd47c..5cdc30c4 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -16,9 +16,9 @@ import ( - "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/logs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" -- "github.com/opencontainers/runc/libcontainer/logs" - "golang.org/x/sys/unix" - ) - -@@ -137,7 +137,7 @@ func (p *setnsProcess) execSetns() error { - } - if !status.Success() { - p.cmd.Wait() -- return newSystemError(&exec.ExitError{ProcessState: status}) -+ return newSystemErrorWithCause(&exec.ExitError{ProcessState: status}, "getting setns process status") - } - var pid *pid - if err := json.NewDecoder(p.parentPipe).Decode(&pid); err != nil { -@@ -224,16 +224,16 @@ func (p *initProcess) execSetns() error { - status, err := p.cmd.Process.Wait() - if err != nil { - p.cmd.Wait() -- return err -+ return newSystemErrorWithCause(err, "waiting on setns process to finish") - } - if !status.Success() { - p.cmd.Wait() -- return &exec.ExitError{ProcessState: status} -+ return newSystemErrorWithCause(&exec.ExitError{ProcessState: status}, "getting setns process status") - } - var pid *pid - if err := json.NewDecoder(p.parentPipe).Decode(&pid); err != nil { - p.cmd.Wait() -- return err -+ return newSystemErrorWithCause(err, "reading pid from init pipe") - } - - // Clean up the zombie parent process -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index b3fab219..1f7ec98b 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -21,6 +21,7 @@ type linuxSetnsInit struct { - pipe *os.File - consoleSocket *os.File - config *initConfig -+ logFd int - } - - func (l *linuxSetnsInit) getSessionRingName() string { -@@ -68,5 +69,9 @@ func (l *linuxSetnsInit) Init() error { - if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil { - return err - } -+ if l.logFd != 0 { -+ syscall.Close(l.logFd) -+ } -+ - return system.Execv(l.config.Args[0], l.config.Args[0:], os.Environ()) - } -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index b985180a..53c81e9f 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -27,6 +27,7 @@ type linuxStandardInit struct { - parentPid int - stateDirFD int - config *initConfig -+ logFd int - } - - func (l *linuxStandardInit) getSessionRingParams() (string, uint32, uint32) { -@@ -181,6 +182,10 @@ func (l *linuxStandardInit) Init() error { - // close the pipe to signal that we have completed our init. - l.pipe.Close() - -+ if l.logFd != 0 { -+ syscall.Close(l.logFd) -+ } -+ - // wait for the fifo to be opened on the other side before - // exec'ing the users process. - ch := make(chan Error, 1) -@@ -222,13 +227,18 @@ func (l *linuxStandardInit) Init() error { - } - - func printCgroupInfo(path string) { -+ cgroupRoot := "/sys/fs/cgroup" - infoFileList := []string{ - "/proc/meminfo", - "/sys/fs/cgroup/memory/memory.stat", -- filepath.Join("/sys/fs/cgroup/files", path, "/files.limit"), -- filepath.Join("/sys/fs/cgroup/files", path, "/files.usage"), -- filepath.Join("/sys/fs/cgroup/memory", path, "/memory.stat"), -- filepath.Join("/sys/fs/cgroup/cpu", path, "/cpu.stat"), -+ filepath.Join(cgroupRoot, "files", path, "files.limit"), -+ filepath.Join(cgroupRoot, "files", path, "files.usage"), -+ filepath.Join(cgroupRoot, "pids", path, "pids.max"), -+ filepath.Join(cgroupRoot, "pids", path, "pids.current"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.stat"), -+ filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), - } - for _, file := range infoFileList { - printFileContent(file) -diff --git a/main.go b/main.go -index 04762424..4141ec56 100644 ---- a/main.go -+++ b/main.go -@@ -10,7 +10,7 @@ import ( - "time" - - "github.com/Sirupsen/logrus" -- "github.com/Sirupsen/logrus/hooks/syslog" -+ logrus_syslog "github.com/Sirupsen/logrus/hooks/syslog" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" - ) -@@ -118,6 +118,10 @@ func main() { - updateCommand, - } - app.Before = func(context *cli.Context) error { -+ if logrus.StandardLogger().Out != logrus.New().Out { -+ return nil -+ } -+ - if path := context.GlobalString("log"); path != "" { - f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND|os.O_SYNC, 0666) - if err != nil { -diff --git a/main_unix.go b/main_unix.go -index 56904e08..45e6df61 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -6,7 +6,9 @@ import ( - "fmt" - "os" - "runtime" -+ "strconv" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer" - _ "github.com/opencontainers/runc/libcontainer/nsenter" - "github.com/urfave/cli" -@@ -16,6 +18,14 @@ func init() { - if len(os.Args) > 1 && os.Args[1] == "init" { - runtime.GOMAXPROCS(1) - runtime.LockOSThread() -+ -+ logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err != nil { -+ return -+ } -+ logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -+ logrus.SetFormatter(new(logrus.JSONFormatter)) -+ logrus.Info("child process init-function finished") - } - } - --- -2.27.0 - diff --git a/patch/0130-runc-fix-cgroup-info-print-error.patch b/patch/0130-runc-fix-cgroup-info-print-error.patch deleted file mode 100644 index f0353744cda6c2da88e6ed8e6b468d444432caf8..0000000000000000000000000000000000000000 --- a/patch/0130-runc-fix-cgroup-info-print-error.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 107de8857b41b5ac3c2d1230383e3855fac872de Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Tue, 7 Dec 2021 20:40:52 +0800 -Subject: [PATCH] runc: fix cgroup info print error - -reason: still using syslog hook to print logrus in create-init, -as logPipe will be closed before printCgroupInfo() called, cgroup info -could not be printed by logPipe. - -Signed-off-by: xiadanni ---- - main_unix.go | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/main_unix.go b/main_unix.go -index 45e6df61..0355b276 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -19,13 +19,14 @@ func init() { - runtime.GOMAXPROCS(1) - runtime.LockOSThread() - -- logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -- if err != nil { -- return -+ if initType := os.Getenv("_LIBCONTAINER_INITTYPE"); initType == "setns" { -+ logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err != nil { -+ return -+ } -+ logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -+ logrus.SetFormatter(new(logrus.JSONFormatter)) - } -- logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -- logrus.SetFormatter(new(logrus.JSONFormatter)) -- logrus.Info("child process init-function finished") - } - } - -@@ -33,6 +34,7 @@ var initCommand = cli.Command{ - Name: "init", - Usage: `initialize the namespaces and launch the process (do not call it outside of runc)`, - Action: func(context *cli.Context) error { -+ logrus.Info("child process init-command start") - factory, _ := libcontainer.New("") - if err := factory.StartInitialization(); err != nil { - fmt.Fprintf(os.Stderr, "libcontainer: container start initialization failed: %s", err) --- -2.27.0 - diff --git a/patch/0131-runc-save-state-atomic.patch b/patch/0131-runc-save-state-atomic.patch deleted file mode 100644 index b3b1a89ff1c040bb7990712a0e9f07b91bc60249..0000000000000000000000000000000000000000 --- a/patch/0131-runc-save-state-atomic.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 957c155cdf03ef1b3bb53d1e107850924bda2c89 Mon Sep 17 00:00:00 2001 -From: cenhuilin -Date: Fri, 8 Jul 2022 02:00:53 +0000 -Subject: [PATCH] Write state.json atomically -We want to make sure that the state file is syned and cannot be -read partially or truncated. - -Signed-off-by: Mrunal Patel ---- - libcontainer/container_linux.go | 31 ++++++++++++++++++++++++------- - 1 file changed, 24 insertions(+), 7 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 7be84a6..709a95e 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1385,13 +1385,30 @@ func (c *linuxContainer) updateState(process parentProcess) (*State, error) { - return state, nil - } - --func (c *linuxContainer) saveState(s *State) error { -- f, err := os.Create(filepath.Join(c.root, stateFilename)) -- if err != nil { -- return err -- } -- defer f.Close() -- return utils.WriteJSON(f, s) -+func (c *linuxContainer) saveState(s *State) (retErr error) { -+ tmpFile, err := ioutil.TempFile(c.root, "state-") -+ if err != nil { -+ return err -+ } -+ -+ defer func() { -+ if retErr != nil { -+ tmpFile.Close() -+ os.Remove(tmpFile.Name()) -+ } -+ }() -+ -+ err = utils.WriteJSON(tmpFile, s) -+ if err != nil { -+ return err -+ } -+ err = tmpFile.Close() -+ if err != nil { -+ return err -+ } -+ -+ stateFilePath := filepath.Join(c.root, stateFilename) -+ return os.Rename(tmpFile.Name(), stateFilePath) - } - - func (c *linuxContainer) deleteState() error { --- -2.33.0 - diff --git a/patch/0132-runc-change-Umask-to-0022.patch b/patch/0132-runc-change-Umask-to-0022.patch deleted file mode 100644 index 63a562d503c6d4e96b498cbfe33b2ec57c3b7fa9..0000000000000000000000000000000000000000 --- a/patch/0132-runc-change-Umask-to-0022.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f53243d64903d660e45a186dc11fa0ab13c39621 Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Tue, 9 Aug 2022 18:29:53 +0800 -Subject: [PATCH] runc: change Umask to 0022 - ---- - libcontainer/rootfs_linux.go | 7 +------ - libcontainer/setns_init_linux.go | 8 -------- - 2 files changed, 1 insertion(+), 14 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index b005429..a1bd7e7 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -140,12 +140,7 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- umask := libcontainerUtils.SearchLabels(config.Labels, "native.umask") -- if umask == "normal" { -- syscall.Umask(0022) -- } else { -- syscall.Umask(0027) -- } -+ syscall.Umask(0022) - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index 1f7ec98..e6dfbba 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -11,7 +11,6 @@ import ( - "github.com/opencontainers/runc/libcontainer/keys" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - "github.com/opencontainers/selinux/go-selinux/label" - ) - -@@ -43,13 +42,6 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -- // set exec process umask to 0027 or 0022 according to container's config -- umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") -- if umask == "normal" { -- syscall.Umask(0022) -- } else { -- syscall.Umask(0027) -- } - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.30.0 - diff --git a/patch/0133-runc-fix-systemd-cgroup-after-memory-type-changed.patch b/patch/0133-runc-fix-systemd-cgroup-after-memory-type-changed.patch deleted file mode 100644 index 3629b8d2feb323287d5c230ba79c708b038c830e..0000000000000000000000000000000000000000 --- a/patch/0133-runc-fix-systemd-cgroup-after-memory-type-changed.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 22fab107bdb684d3e7651804b5f6ba3c432652ca Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 9 Aug 2021 10:16:47 +0800 -Subject: [PATCH] runc:fix systemd cgroup after memory type changed - -upstream from -https://github.com/opencontainers/runc/pull/1573/commits/acaf6897f566c2f592a488c83dafcddec41524be - -Signed-off-by: Qiang Huang -Signed-off-by: xiadanni ---- - libcontainer/cgroups/systemd/apply_systemd.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 0411b72..a08a9a9 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -261,7 +261,7 @@ func (m *Manager) Apply(pid int) error { - - if c.Resources.Memory != 0 { - properties = append(properties, -- newProp("MemoryLimit", c.Resources.Memory)) -+ newProp("MemoryLimit", uint64(c.Resources.Memory))) - } - - if c.Resources.CpuShares != 0 { --- -2.27.0 - diff --git a/runc.spec b/runc.spec index 0e841f90aabbcb597db1c8d9414be23c6ed83d5b..9948da1fa487a883c01ad4462471cd200988bd3f 100644 --- a/runc.spec +++ b/runc.spec @@ -3,12 +3,16 @@ Name: docker-runc Version: 1.1.3 -Release: 4 +Release: 5 Summary: runc is a CLI tool for spawning and running containers according to the OCI specification. License: ASL 2.0 Source0: https://github.com/opencontainers/runc/archive/refs/tags/v1.1.3.tar.gz - +Source1: apply-patch +Source2: series.conf +Source3: git-commit +Source4: gen-commit.sh +Source5: patch.tar.gz URL: https://www.opencontainers.org/ Vendor: OCI @@ -20,9 +24,17 @@ BuildRequires: golang >= 1.8.3 glibc-static make libseccomp-devel libseccomp-sta runc is a CLI tool for spawning and running containers according to the OCI specification. %prep -%autosetup -p1 -n runc-1.1.3 +cp %{SOURCE0} . +cp %{SOURCE1} . +cp %{SOURCE2} . +cp %{SOURCE3} . +cp %{SOURCE4} . +cp %{SOURCE5} . + + +%install +sh ./apply-patch -%build mkdir -p .gopath/src/github.com/opencontainers export GO111MODULE=off export GOPATH=`pwd`/.gopath @@ -32,7 +44,6 @@ make BUILDTAGS="seccomp selinux" static rm -rf .gopath strip runc -%install install -d $RPM_BUILD_ROOT/%{_bindir} install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc @@ -43,6 +54,12 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc %{_bindir}/runc %changelog +* Fri Nov 4 2022 zhongjiawei - 1.1.3-5 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:move install path to /usr/bin + * Tue Oct 18 2022 zhongjiawei - 1.1.3-4 - Type:bugfix - CVE:NA diff --git a/series.conf b/series.conf index f36b0e83bd48c5c6f49723f6343a9f7ed0c02446..42547ce0087eabddf1e96541f1b95a844b644895 100644 --- a/series.conf +++ b/series.conf @@ -1,134 +1,28 @@ -patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch -patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch -patch/0003-Use-opencontainers-selinux-package.patch -patch/0004-handle-unprivileged-operations-and-dumpable.patch -patch/0005-runc-add-support-for-rootless-containers.patch -patch/0006-rootless-add-rootless-cgroup-manager.patch -patch/0007-libcontainer-configs-add-proper-HostUID-and.patch -patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch -patch/0009-rootless-add-autogenerated-rootless-config-.patch -patch/0010-integration-added-root-requires.patch -patch/0011-tests-add-rootless-integration-tests.patch -patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch -patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch -patch/0014-Set-container-state-only-once-during-start.patch -patch/0015-checkpoint-check-if-system-supports-pre-dum.patch -patch/0016-Fix-console-syscalls.patch -patch/0017-restore-apply-resource-limits.patch -patch/0018-could-load-a-stopped-container.patch -patch/0019-Revert-back-to-using-sbin.patch -patch/0020-add-testcase-in-generic_error_test.go.patch -patch/0021-Fix-misspelling-of-properties-in-various-pl.patch -patch/0022-Add-a-rootless-containers-section-on-README.patch -patch/0023-vendor-clean-up-to-be-better-written.patch -patch/0024-Optimizing-looping-over-namespaces.patch -patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch -patch/0026-Allow-updating-container-pids-limit.patch -patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch -patch/0028-Revert-saneTerminal.patch -patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch -patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch -patch/0031-Add-spec-for-euleros.patch -patch/0032-runc-17-Always-save-own-namespace-paths.patch -patch/0033-runc-change-runc-default-umask-to-027.patch -patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch -patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch -patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch -patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch -patch/0039-Fix-unittest-and-integration-test-error-cause.patch -patch/0041-Add-timeout-for-syscall.Openat.patch -patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch -patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch -patch/0044-runc-default-mount-propagation-correctly.patch -patch/0045-runc-add-hook-specific-info-when-error-occurr.patch -patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch -patch/0047-runc-add-more-specific-log-for-hooks.patch -patch/0048-runc-Only-configure-networking.patch -patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch -patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch -patch/0051-runc-Return-from-goroutine-when-it-should-t.patch -patch/0052-runc-reduce-max-number-of-retries-to-10.patch -patch/0053-runc-print-error-message-during-start-into-co.patch -patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch -patch/0055-Add-file-fds-limit.patch -patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch -patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch -patch/0058-runc-fix-panic-when-Linux-is-nil.patch -patch/0059-Fix-setup-cgroup-before-prestart-hook.patch -patch/0060-runc-runc-logs-forwarding-to-syslog.patch -patch/0061-runc-17-change-golang-build-version-to-make-o.patch -patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch -patch/0063-docker-close-openchan-immediately-to-avoid-er.patch -patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch -patch/0065-runc-support-namespaced-kernel-params-can-be-.patch -patch/0066-runc-bump-to-v1.0.0.rc3.6.patch -patch/0067-runc-make-the-runc-log-more-useful.patch -patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch -patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch -patch/0070-runc-not-print-no-such-file-when-cli-err.patch -patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch -patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch -patch/0073-runc-fix-state.json-no-such-file-or-directory.patch -patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch -patch/0075-runc-Fix-systemd-journald-service-dependency.patch -patch/0076-runc-Fix-syslog-hook-bug.patch -patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch -patch/0078-runc-Fix-race-in-runc-exec.patch -patch/0079-runc-modify-spec-file-for-upgrade.patch -patch/0080-runc-support-specify-umask.patch -patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch -patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch -patch/0083-log-fix-runc-log-decode-failed.patch -patch/0084-oci-fix-runc-panic-and-support-oom-score.patch -patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch -patch/0086-runc-support-set-seccomp-priority.patch -patch/0087-runc-fix-spec-LinuxSyscall-struct.patch -patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch -patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch -patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch -patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch -patch/0092-runc-cve-2019-5736-fix-build-failure.patch -patch/0093-runc-fix-error-when-check-the-init-process.patch -patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch -patch/0095-runc-just-warning-when-poststart-and-poststop.patch -patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch -patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch -patch/0098-runc-fix-read-only-containers-under-userns-.patch -patch/0099-runc-enable-bep-ldflags.patch -patch/0100-runc-set-makefile-buildid.patch -patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch -patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch -patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch -patch/0105-runc-disable-core-dump-during-pipe-io.patch -patch/0106-runc-do-not-override-devices.allow-file-when-.patch -patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch -patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch -patch/0109-runc-add-copyright.patch -patch/0110-runc-add-lisence.patch -patch/0111-runc-add-log-message-for-cgroup-file-check.patch -patch/0112-runc-add-log-message-for-cgroup-file-check.patch -patch/0113-runc-modify-files-cgroup-info-reading-path.patch -patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch -patch/0113-runc-Write-freezer-state-after-every-state-.patch -patch/0114-runc-may-kill-other-process-when-container-.patch -patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch -patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch -patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch -patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch -patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch -patch/0119-runc-use-git-commit-to-store-commit-ID.patch -patch/0120-runc-fix-permission-denied.patch -patch/0121-runc-add-sys-symbol-to-support-riscv.patch -patch/0122-runc-add-riscv-on-existing-files.patch -patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch -patch/0124-runc-fix-freezing-race.patch -patch/0125-runc-compile-option-compliance.patch -patch/0126-runc-add-check-in-spec.patch -patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch -patch/0128-runc-optimize-nsexec-logging.patch -patch/0129-runc-improve-log-for-debugging.patch -patch/0130-runc-fix-cgroup-info-print-error.patch -patch/0131-runc-save-state-atomic.patch -patch/0132-runc-change-Umask-to-0022.patch -patch/0133-runc-fix-systemd-cgroup-after-memory-type-changed.patch -#end +patch/0001-runc-Add-spec-for-euleros.patch +patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch +patch/0003-runc-add-timeout-for-syscall.Openat.patch +patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch +patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch +patch/0006-runc-add-more-specific-log-for-hooks.patch +patch/0007-runc-reduce-max-number-of-retries-to-10.patch +patch/0008-runc-print-error-message-during-start-into-container.patch +patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch +patch/0010-runc-Add-file-fds-limit.patch +patch/0011-runc-logs-forwarding-to-syslog.patch +patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch +patch/0013-runc-modify-minHookTimeOut.patch +patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch +patch/0015-runc-fix-runc-log-decode-failed.patch +patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch +patch/0017-runc-support-set-seccomp-priority.patch +patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch +patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch +patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch +patch/0021-runc-disable-core-dump-during-exec.patch +patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch +patch/0023-runc-add-log-message-for-cgroup-file-check.patch +patch/0024-runc-unified-use-of-logpipe.patch +patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch +patch/0026-runc-add-DT-for-cpuset.preferred_cpus-setting.patch +patch/0027-runc-modify-runc-Makefile.patch +patch/0028-runc-cgroup-apply-method-modify.patch