diff --git a/apply-patch b/apply-patch new file mode 100644 index 0000000000000000000000000000000000000000..6e900dc1ed516102238d201eab90ace465195216 --- /dev/null +++ b/apply-patch @@ -0,0 +1,24 @@ +#!/bin/bash + +# Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. +# Description: This shell script is used to apply patches for the project +# Author: jingrui@huawei.com +# Create: 2019-03-02 + +pkg=runc-1.0.0-rc3 +cwd=$PWD +src=$cwd/$pkg + +unzip $pkg.zip + +series=$cwd/series.conf +while IPF= read -r line +do + if [[ "$line" =~ ^0.* ]]; then + cd $src && patch -p1 < $cwd/patch/$line + fi +done <"$series" + +cd $cwd +cp -rf $src/* . +rm -rf runc-1.0.0-rc3 diff --git a/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch b/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch new file mode 100644 index 0000000000000000000000000000000000000000..b46ea188bf08fb609f1bfd750e5c2ee3bfb8fbff --- /dev/null +++ b/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch @@ -0,0 +1,40 @@ +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/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 new file mode 100644 index 0000000000000000000000000000000000000000..d5d77c5fe824cbff95b72605e6ed0f59f95eb0be --- /dev/null +++ b/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch @@ -0,0 +1,43 @@ +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/0003-Use-opencontainers-selinux-package.patch b/patch/0003-Use-opencontainers-selinux-package.patch new file mode 100644 index 0000000000000000000000000000000000000000..56e75d001a27ace094911b1751ff0e5fd9ed1e49 --- /dev/null +++ b/patch/0003-Use-opencontainers-selinux-package.patch @@ -0,0 +1,2424 @@ +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/0004-handle-unprivileged-operations-and-dumpable.patch b/patch/0004-handle-unprivileged-operations-and-dumpable.patch new file mode 100644 index 0000000000000000000000000000000000000000..9b001584cac629b994e71a839c948842ab0af8a9 --- /dev/null +++ b/patch/0004-handle-unprivileged-operations-and-dumpable.patch @@ -0,0 +1,272 @@ +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/0005-runc-add-support-for-rootless-containers.patch b/patch/0005-runc-add-support-for-rootless-containers.patch new file mode 100644 index 0000000000000000000000000000000000000000..dfffd791349dc5bc7fad6e53c0b9753f3756a4da --- /dev/null +++ b/patch/0005-runc-add-support-for-rootless-containers.patch @@ -0,0 +1,1490 @@ +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/0006-rootless-add-rootless-cgroup-manager.patch b/patch/0006-rootless-add-rootless-cgroup-manager.patch new file mode 100644 index 0000000000000000000000000000000000000000..0e7858f79f11a632f7ce8c76ce9395ab358d7fdc --- /dev/null +++ b/patch/0006-rootless-add-rootless-cgroup-manager.patch @@ -0,0 +1,421 @@ +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/0007-libcontainer-configs-add-proper-HostUID-and.patch b/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch new file mode 100644 index 0000000000000000000000000000000000000000..be6f687d5d8304f4939bc45503853c9c2f8dde4a --- /dev/null +++ b/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch @@ -0,0 +1,256 @@ +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/0008-libcontainer-init-fix-unmapped-console-fcho.patch b/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch new file mode 100644 index 0000000000000000000000000000000000000000..8d776691ba8f0bafe2ae1547f9e600842b8a1ea5 --- /dev/null +++ b/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch @@ -0,0 +1,64 @@ +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/0009-rootless-add-autogenerated-rootless-config-.patch b/patch/0009-rootless-add-autogenerated-rootless-config-.patch new file mode 100644 index 0000000000000000000000000000000000000000..9cbad02d59a5d6d0f9e534464510d8ff6ea6c74c --- /dev/null +++ b/patch/0009-rootless-add-autogenerated-rootless-config-.patch @@ -0,0 +1,203 @@ +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/0010-integration-added-root-requires.patch b/patch/0010-integration-added-root-requires.patch new file mode 100644 index 0000000000000000000000000000000000000000..4d2cf873ac0e8ce1773808c3ba0fab2e7916fc03 --- /dev/null +++ b/patch/0010-integration-added-root-requires.patch @@ -0,0 +1,143 @@ +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/0011-tests-add-rootless-integration-tests.patch b/patch/0011-tests-add-rootless-integration-tests.patch new file mode 100644 index 0000000000000000000000000000000000000000..65980818337c0fae859c734a506c4a1e39575daf --- /dev/null +++ b/patch/0011-tests-add-rootless-integration-tests.patch @@ -0,0 +1,449 @@ +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/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch b/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch new file mode 100644 index 0000000000000000000000000000000000000000..ee2e8dc0468342032299f7d49a34addd57109cd0 --- /dev/null +++ b/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch @@ -0,0 +1,123561 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..e6506bba06b40ff07a03f0973c5600ce583047f6 --- /dev/null +++ b/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch @@ -0,0 +1,327 @@ +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/0014-Set-container-state-only-once-during-start.patch b/patch/0014-Set-container-state-only-once-during-start.patch new file mode 100644 index 0000000000000000000000000000000000000000..10a3a568a278dd0361de4f1e080dc67d72998250 --- /dev/null +++ b/patch/0014-Set-container-state-only-once-during-start.patch @@ -0,0 +1,39 @@ +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/0015-checkpoint-check-if-system-supports-pre-dum.patch b/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch new file mode 100644 index 0000000000000000000000000000000000000000..f0533875b207313aaa202e0698e1c0edf55342f8 --- /dev/null +++ b/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch @@ -0,0 +1,161 @@ +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/0016-Fix-console-syscalls.patch b/patch/0016-Fix-console-syscalls.patch new file mode 100644 index 0000000000000000000000000000000000000000..eced1387fdd7332ee16dfe9673abc8b914481017 --- /dev/null +++ b/patch/0016-Fix-console-syscalls.patch @@ -0,0 +1,129 @@ +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/0017-restore-apply-resource-limits.patch b/patch/0017-restore-apply-resource-limits.patch new file mode 100644 index 0000000000000000000000000000000000000000..c9df593fdb192534e0733eeeb7ebac09570d8d26 --- /dev/null +++ b/patch/0017-restore-apply-resource-limits.patch @@ -0,0 +1,34 @@ +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/0018-could-load-a-stopped-container.patch b/patch/0018-could-load-a-stopped-container.patch new file mode 100644 index 0000000000000000000000000000000000000000..a484f61ff2733a8629b5a551b45ad4c2bae078de --- /dev/null +++ b/patch/0018-could-load-a-stopped-container.patch @@ -0,0 +1,35 @@ +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/0019-Revert-back-to-using-sbin.patch b/patch/0019-Revert-back-to-using-sbin.patch new file mode 100644 index 0000000000000000000000000000000000000000..dcaca2f3ea6127fc4fa8e3845f4d7288b1ebcc02 --- /dev/null +++ b/patch/0019-Revert-back-to-using-sbin.patch @@ -0,0 +1,32 @@ +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/0020-add-testcase-in-generic_error_test.go.patch b/patch/0020-add-testcase-in-generic_error_test.go.patch new file mode 100644 index 0000000000000000000000000000000000000000..081dff5bb8be9b5f04b43d3bb36cfd08eb900643 --- /dev/null +++ b/patch/0020-add-testcase-in-generic_error_test.go.patch @@ -0,0 +1,57 @@ +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/0021-Fix-misspelling-of-properties-in-various-pl.patch b/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch new file mode 100644 index 0000000000000000000000000000000000000000..5eae2252ac7d7f0d4a9621c8f93a02169d2ab6a5 --- /dev/null +++ b/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch @@ -0,0 +1,53 @@ +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/0022-Add-a-rootless-containers-section-on-README.patch b/patch/0022-Add-a-rootless-containers-section-on-README.patch new file mode 100644 index 0000000000000000000000000000000000000000..80b8683eaece83a64d8c756403709618d9546054 --- /dev/null +++ b/patch/0022-Add-a-rootless-containers-section-on-README.patch @@ -0,0 +1,63 @@ +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/0023-vendor-clean-up-to-be-better-written.patch b/patch/0023-vendor-clean-up-to-be-better-written.patch new file mode 100644 index 0000000000000000000000000000000000000000..7dd13bad21bed7ea69edbd390d8ef83ecb3155f4 --- /dev/null +++ b/patch/0023-vendor-clean-up-to-be-better-written.patch @@ -0,0 +1,69 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..7d8dcec3d7646781f05d95d5941ff00b18bac5bf --- /dev/null +++ b/patch/0024-Optimizing-looping-over-namespaces.patch @@ -0,0 +1,58 @@ +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/0025-Add-a-rootless-section-to-spec-man-page-and.patch b/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch new file mode 100644 index 0000000000000000000000000000000000000000..f67965c84f36e7eb072701669f3dcedfc6826ff5 --- /dev/null +++ b/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch @@ -0,0 +1,54 @@ +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/0026-Allow-updating-container-pids-limit.patch b/patch/0026-Allow-updating-container-pids-limit.patch new file mode 100644 index 0000000000000000000000000000000000000000..91177cfa373963a9dc782a4fbcf19152c0ac144d --- /dev/null +++ b/patch/0026-Allow-updating-container-pids-limit.patch @@ -0,0 +1,150 @@ +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: 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/0028-Revert-saneTerminal.patch b/patch/0028-Revert-saneTerminal.patch new file mode 100644 index 0000000000000000000000000000000000000000..8336f37f5ecde412689aaaa8b6d8f91cbfcd2377 --- /dev/null +++ b/patch/0028-Revert-saneTerminal.patch @@ -0,0 +1,31 @@ +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/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch b/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch new file mode 100644 index 0000000000000000000000000000000000000000..d5a6ea37c784642a0a424c53986e7cbb4a52c7b9 --- /dev/null +++ b/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch @@ -0,0 +1,59 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..382ce823b33ada2ae4d654a51a65dc85752f4fa2 --- /dev/null +++ b/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch @@ -0,0 +1,198 @@ +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/0031-Add-spec-for-euleros.patch b/patch/0031-Add-spec-for-euleros.patch new file mode 100644 index 0000000000000000000000000000000000000000..cc24a0cb523c6d885d93209cacce6ccd495af26a --- /dev/null +++ b/patch/0031-Add-spec-for-euleros.patch @@ -0,0 +1,70 @@ +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 + +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 + +diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec +new file mode 100644 +index 0000000..a925e02 +--- /dev/null ++++ b/script/runc-euleros.spec +@@ -0,0 +1,49 @@ ++%global _bindir /usr/local/bin ++ ++Name: docker-runc ++Version: 1.0.0.rc3 ++Release: 1%{?dist} ++Summary: runc is a CLI tool for spawning and running containers according to the OCF specification ++ ++License: ASL 2.0 ++Source: %{name}.tar.gz ++ ++URL: https://www.opencontainers.org/ ++Vendor: OCI ++Packager: OCI ++ ++BuildRequires: golang == 1.8.3 ++BuildRequires: glibc-static ++BuildRequires: make ++BuildRequires: libseccomp-devel ++BuildRequires: libselinux-devel ++ ++ ++%description ++runc is a CLI tool for spawning and running containers according to the OCF specification ++ ++%prep ++%setup -c -n runc ++ ++%install ++ ++ ++mkdir -p .gopath/src/github.com/opencontainers ++export GOPATH=`pwd`/.gopath ++ln -sf `pwd` .gopath/src/github.com/opencontainers/runc ++cd .gopath/src/github.com/opencontainers/runc ++make BUILDTAGS="seccomp selinux" static ++rm -rf .gopath ++ ++install -d $RPM_BUILD_ROOT/%{_bindir} ++install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc ++ ++ ++%clean ++%{__rm} -rf %{_bindir}/runc ++ ++%files ++%{_bindir}/runc ++ ++%changelog ++ +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..886e2cb5f9ff6011abbac80868ba7368c8493907 --- /dev/null +++ b/patch/0032-runc-17-Always-save-own-namespace-paths.patch @@ -0,0 +1,84 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..bee6ab3d536b0ad1790b4d82bf291a7b858fad14 --- /dev/null +++ b/patch/0033-runc-change-runc-default-umask-to-027.patch @@ -0,0 +1,52 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..b6e8352696111f40fdb1c249f69ec6cdc28835fc --- /dev/null +++ b/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch @@ -0,0 +1,50 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..95d2ccfe70da5051dcba858305fdec9bc846ca72 --- /dev/null +++ b/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch @@ -0,0 +1,141 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..06cf771bd4ebf7d992812159e131a2b59c81e040 --- /dev/null +++ b/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch @@ -0,0 +1,208 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..33826dd92723c980c03255f51e50d8ddd48ad643 --- /dev/null +++ b/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch @@ -0,0 +1,61 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..8333411adb28060caf80f044bffbb9f400692dad --- /dev/null +++ b/patch/0039-Fix-unittest-and-integration-test-error-cause.patch @@ -0,0 +1,64 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..1381c8e4c3de732f4cbc2c232947def65c9c018b --- /dev/null +++ b/patch/0041-Add-timeout-for-syscall.Openat.patch @@ -0,0 +1,68 @@ +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/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch b/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch new file mode 100644 index 0000000000000000000000000000000000000000..a985cdd81090e78ec1d4556118fb346ad7cbf470 --- /dev/null +++ b/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch @@ -0,0 +1,46 @@ +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 + +if process stuck in somewhere. upper caller like containerd may +have a timeout for process launching. + +process will be killed after this timeout, and then call `runc +delete` to retrieve its resource like cgroup and perform poststop +hook. + +if process got stuck right before updating state, and after cgroup +applied, like prestart-hook. In such case, `runc delete xxx` will +do nothing because state file is missing, runc is not aware of this +container. so process cgroup will stay and never get removed. + +This patch perform state updating right after cgroup applying. so +`runc delete` will do the cleaning job + +Change-Id: I7b247f501986e712a86da3958d1be573af4e84a6 +Signed-off-by: Deng Guangxing +--- + 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 { + if err := p.manager.Apply(p.pid()); err != nil { + return newSystemErrorWithCause(err, "applying cgroup configuration for process") + } ++ // 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 +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..be2f6bda20adaac7c3e9530cfe5ee9d1c64e6ec6 --- /dev/null +++ b/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch @@ -0,0 +1,43 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..c22b3a576a076c41e9dad0e7b6be63ef60fd896d --- /dev/null +++ b/patch/0044-runc-default-mount-propagation-correctly.patch @@ -0,0 +1,43 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..584eb64b1a9451c7f719caf375000a37e1639ce0 --- /dev/null +++ b/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch @@ -0,0 +1,128 @@ +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/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch b/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch new file mode 100644 index 0000000000000000000000000000000000000000..0ed8181efdefb0f5feef46bddaf353ea5189a919 --- /dev/null +++ b/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch @@ -0,0 +1,57 @@ +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 + +[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(+) + +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 + } + + func (s *CpusetGroup) getSubsystemSettings(parent string) (cpus []byte, mems []byte, err error) { ++ defer func() { ++ if err != nil { ++ minfo, err1 := ioutil.ReadFile("/proc/self/mountinfo") ++ if err1 != nil { ++ logrus.Errorf("Failed to read mountinfo when getSubsystemSettings get an error") ++ } ++ ++ dirInfo := "" ++ fs, err2 := ioutil.ReadDir(parent) ++ if err2 != nil { ++ logrus.Errorf("Failed to read mountinfo when getSubsystemSettings get an error") ++ } ++ for _, f := range fs { ++ dirInfo = dirInfo + " " + f.Name() ++ } ++ ++ logrus.Errorf("Read cpuset cgroup failed, print mountinfo and cgroup info here"+ ++ "path: %s, mountinfo: [%s], dirinfo: [%s]", parent, string(minfo), dirInfo) ++ } ++ }() + if cpus, err = ioutil.ReadFile(filepath.Join(parent, "cpuset.cpus")); err != nil { + return + } +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..2388a8fd789d8eeee583dfd1d4df07bbf5327ca4 --- /dev/null +++ b/patch/0047-runc-add-more-specific-log-for-hooks.patch @@ -0,0 +1,104 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..b1d0945bfdee9384de417aa6ea3c3e11d8fe36f5 --- /dev/null +++ b/patch/0048-runc-Only-configure-networking.patch @@ -0,0 +1,40 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..508b002b03c242083454f156b063f0aa6d1b2bc2 --- /dev/null +++ b/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch @@ -0,0 +1,37 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..756ac9bafdfe14e14eda22d51f24c9b84cde2d4e --- /dev/null +++ b/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch @@ -0,0 +1,214 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..1689f327d7486e4d291bbc77e1f0963e31869f6c --- /dev/null +++ b/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch @@ -0,0 +1,33 @@ +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/0052-runc-reduce-max-number-of-retries-to-10.patch b/patch/0052-runc-reduce-max-number-of-retries-to-10.patch new file mode 100644 index 0000000000000000000000000000000000000000..b4d3b6917cbd22186a1ead80246b079971a20ad3 --- /dev/null +++ b/patch/0052-runc-reduce-max-number-of-retries-to-10.patch @@ -0,0 +1,32 @@ +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 + +[Changelog]:when killing containers in D state, now runc will do +100 retries, which leads that containerd blocks for 10 seconds. +[Author]:Ruilin Li + +Change-Id: I1e08ef23ad065f5e3b88506726530187d2ccc797 +--- + delete.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/delete.go b/delete.go +index b43dcaa..a2b14f3 100644 +--- a/delete.go ++++ b/delete.go +@@ -14,8 +14,8 @@ import ( + ) + + func killContainer(container libcontainer.Container) error { +- _ = container.Signal(syscall.SIGKILL, false) +- for i := 0; i < 100; i++ { ++ container.Signal(syscall.SIGKILL, false) ++ for i := 0; i < 10; i++ { + time.Sleep(100 * time.Millisecond) + if err := container.Signal(syscall.Signal(0), false); err != nil { + destroy(container) +-- +2.7.4.3 + diff --git a/patch/0053-runc-print-error-message-during-start-into-co.patch b/patch/0053-runc-print-error-message-during-start-into-co.patch new file mode 100644 index 0000000000000000000000000000000000000000..83ec2de7ae4699e9cda555a5070f38439021d3a6 --- /dev/null +++ b/patch/0053-runc-print-error-message-during-start-into-co.patch @@ -0,0 +1,36 @@ +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 + +[Changelog]:cherry-pick from vtwrse <75eba7a697edde39e25e39c870a33f3dc5fb327a> +Change-Id: Id23f14690d77a4f79611e82f4e2ece41d9b19edf +Signed-off-by: jiangpengfei9 +--- + main_unix.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 @@ + package main + + import ( ++ "fmt" + "os" + "runtime" + +@@ -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) + // as the error is sent back to the parent there is no need to log + // or write it to stderr because the parent process will handle this + os.Exit(1) +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..184f6be62b38a0e8c69c3d65ef14fcfa8e04d1e1 --- /dev/null +++ b/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch @@ -0,0 +1,31 @@ +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/0055-Add-file-fds-limit.patch b/patch/0055-Add-file-fds-limit.patch new file mode 100644 index 0000000000000000000000000000000000000000..3204d0e2792e20570bd9d10043db7e2823d22409 --- /dev/null +++ b/patch/0055-Add-file-fds-limit.patch @@ -0,0 +1,246 @@ +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 + +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 + +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 { + s.Pids.Current = cg.PidsStats.Current + s.Pids.Limit = cg.PidsStats.Limit + ++ s.Files.Usage = cg.FilesStats.Usage ++ s.Files.Limit = cg.FilesStats.Limit ++ + s.CPU.Usage.Kernel = cg.CpuStats.CpuUsage.UsageInKernelmode + s.CPU.Usage.User = cg.CpuStats.CpuUsage.UsageInUsermode + s.CPU.Usage.Total = cg.CpuStats.CpuUsage.TotalUsage +diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go +index 66debae..1bf59a4 100644 +--- a/libcontainer/cgroups/fs/apply_raw.go ++++ b/libcontainer/cgroups/fs/apply_raw.go +@@ -24,6 +24,7 @@ var ( + &CpuGroup{}, + &CpuacctGroup{}, + &PidsGroup{}, ++ &FilesGroup{}, + &BlkioGroup{}, + &HugetlbGroup{}, + &NetClsGroup{}, +diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go +new file mode 100644 +index 0000000..f2e253a +--- /dev/null ++++ b/libcontainer/cgroups/fs/files.go +@@ -0,0 +1,74 @@ ++// +build linux ++ ++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" ++} ++ ++func (s *FilesGroup) Apply(d *cgroupData) error { ++ _, err := d.join("files") ++ if err != nil && !cgroups.IsNotFound(err) { ++ return err ++ } ++ return nil ++} ++ ++func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { ++ if cgroup.Resources.FilesLimit != 0 { ++ limit := defaultFilesMax ++ if cgroup.Resources.FilesLimit > 0 { ++ limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) ++ } ++ ++ if err := writeFile(path, "files.limit", limit); err != nil { ++ return err ++ } ++ } ++ ++ 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 { ++ return fmt.Errorf("failed to parse files.usage - %s", err) ++ } ++ ++ limit, err := getCgroupParamUint(path, "files.limit") ++ if err != nil { ++ return fmt.Errorf("failed to parse files.limit - %s", err) ++ } ++ ++ stats.FilesStats.Usage = usage ++ stats.FilesStats.Limit = limit ++ 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 { + Limit uint64 `json:"limit,omitempty"` + } + ++type FilesStats struct { ++ // number of pids in the cgroup ++ Usage uint64 `json:"usage,omitempty"` ++ // active pids hard limit ++ Limit uint64 `json:"limit,omitempty"` ++} ++ + 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"` + 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{ + &fs.CpuGroup{}, + &fs.CpuacctGroup{}, + &fs.PidsGroup{}, ++ &fs.FilesGroup{}, + &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 { + // Process limit; set <= `0' to disable limit. + PidsLimit int64 `json:"pids_limit"` + ++ // Process open files limit. ++ FilesLimit int64 `json:"files_limit"` ++ + // 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 { + 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"` ++} ++ + // LinuxNetwork identification and priority configuration + type LinuxNetwork struct { + // Set class identifier for container's network packets +@@ -340,6 +346,8 @@ type LinuxResources struct { + CPU *LinuxCPU `json:"cpu,omitempty"` + // Task resource restriction configuration. + Pids *LinuxPids `json:"pids,omitempty"` ++ // Files resource restriction configuration. ++ 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/0056-runc-Modify-max-files.limit-to-max-because-of.patch b/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch new file mode 100644 index 0000000000000000000000000000000000000000..729a155585815bbf7e73d85ac92aed936d523a3b --- /dev/null +++ b/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch @@ -0,0 +1,61 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..46462b5cbd679d51f99df5c370b68ec6a47485c4 --- /dev/null +++ b/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch @@ -0,0 +1,55 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..679bc0ba29b0a1c1d6d6bacdce72a6331865271e --- /dev/null +++ b/patch/0058-runc-fix-panic-when-Linux-is-nil.patch @@ -0,0 +1,194 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..b2d1d7380e399a2abb501c146d635d2f824131e5 --- /dev/null +++ b/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch @@ -0,0 +1,59 @@ +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/0060-runc-runc-logs-forwarding-to-syslog.patch b/patch/0060-runc-runc-logs-forwarding-to-syslog.patch new file mode 100644 index 0000000000000000000000000000000000000000..d07f2191780057b4c77c84e9e169e8717739ffbf --- /dev/null +++ b/patch/0060-runc-runc-logs-forwarding-to-syslog.patch @@ -0,0 +1,860 @@ +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 + +reason:runc logs forwarding to syslog and using the config "--log-level" to control the number of logs + +Change-Id: Ia93f6f5c56131ea8558c4b7b7e5c4bec827a1bad + +Conflicts: + libcontainer/container_linux.go + libcontainer/process_linux.go + libcontainer/state_linux.go +--- + create.go | 3 +- + libcontainer/configs/config.go | 55 +++++++++--- + libcontainer/container_linux.go | 16 ++-- + libcontainer/process_linux.go | 19 ++-- + libcontainer/state_linux.go | 4 +- + main.go | 33 +++++-- + script/runc-euleros.spec | 2 +- + vendor/github.com/Sirupsen/logrus/Checklist | 1 + + .../Sirupsen/logrus/hooks/airbrake/airbrake.go | 54 +++++++++++ + .../Sirupsen/logrus/hooks/bugsnag/bugsnag.go | 68 ++++++++++++++ + .../Sirupsen/logrus/hooks/papertrail/README.md | 28 ++++++ + .../Sirupsen/logrus/hooks/papertrail/papertrail.go | 55 ++++++++++++ + .../Sirupsen/logrus/hooks/sentry/README.md | 61 +++++++++++++ + .../Sirupsen/logrus/hooks/sentry/sentry.go | 100 +++++++++++++++++++++ + .../Sirupsen/logrus/hooks/syslog/README.md | 20 +++++ + .../Sirupsen/logrus/hooks/syslog/syslog.go | 59 ++++++++++++ + 16 files changed, 535 insertions(+), 43 deletions(-) + create mode 100644 vendor/github.com/Sirupsen/logrus/Checklist + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md + create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go + +diff --git a/create.go b/create.go +index 096e8e3..d0246ad 100644 +--- a/create.go ++++ b/create.go +@@ -1,9 +1,8 @@ + package main + + import ( +- "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 ( + "bytes" + "encoding/json" + "fmt" ++ "github.com/Sirupsen/logrus" ++ "github.com/opencontainers/runtime-spec/specs-go" + "os/exec" + "strings" + "time" ++) + +- "github.com/Sirupsen/logrus" +- "github.com/opencontainers/runtime-spec/specs-go" ++const ( ++ minHookTimeOut = 1 * time.Second ++ defaultHookTimeOut = 5 * 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 Hooks struct { +@@ -342,29 +348,52 @@ func (c Command) Run(s HookState) error { + Stdout: &stdout, + Stderr: &stderr, + } ++ startTime := time.Now() + if err := cmd.Start(); err != nil { + return err + } ++ if c.Timeout != nil && *c.Timeout < minHookTimeOut { ++ *c.Timeout = defaultHookTimeOut ++ } + errC := make(chan error, 1) ++ var ( ++ timerCh <-chan time.Time ++ warnTime = defaultWarnTime.Seconds() ++ ) + go func() { + err := cmd.Wait() + if err != nil { + err = fmt.Errorf("error running hook: %v, stdout: %s, stderr: %s", err, stdout.String(), stderr.String()) + } ++ elapsedTime := time.Since(startTime) ++ logrus.Infof("hook spends time %s, ContainerID: %s", elapsedTime, s.ID) ++ if c.Timeout != nil { ++ if elapsedTime.Seconds() >= (c.Timeout.Seconds() * 0.8) { ++ logrus.Warnf("elapsed %s, more than 80%% of the timeout %s, ContainerID: %s", elapsedTime, c.Timeout, s.ID) ++ } ++ } else { ++ if elapsedTime.Seconds() >= warnTime { ++ logrus.Warnf("elapsed %s, more than 80%% of the default timeout 120s, ContainerID: %s", elapsedTime, s.ID) ++ } ++ } + errC <- err + }() +- var timerCh <-chan time.Time + if c.Timeout != nil { + timer := time.NewTimer(*c.Timeout) + defer timer.Stop() + timerCh = timer.C ++ warnTime = float64(*c.Timeout) * 0.8 + } +- select { +- case err := <-errC: +- return err +- case <-timerCh: +- cmd.Process.Kill() +- cmd.Wait() +- return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) ++ for { ++ select { ++ case err := <-errC: ++ return err ++ case <-timerCh: ++ 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) ++ } + } + } +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" + ) + + 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, + } + 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) + } + 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')", + }, + cli.StringFlag{ ++ Name: "log-level", ++ 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")) + } ++ 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) ++ } ++ ++ if context.GlobalBool("debug") { ++ logrus.SetLevel(logrus.DebugLevel) ++ } + return nil + } + // 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 +new file mode 100644 +index 0000000..7117b24 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/Checklist +@@ -0,0 +1 @@ ++imported from runc v1.0.0-Release Candidate 2: Godeps/_workspace/src/github.com/Sirupsen/logrus/hooks +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go +new file mode 100644 +index 0000000..b0502c3 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go +@@ -0,0 +1,54 @@ ++package airbrake ++ ++import ( ++ "errors" ++ "fmt" ++ ++ "github.com/Sirupsen/logrus" ++ "github.com/tobi/airbrake-go" ++) ++ ++// AirbrakeHook to send exceptions to an exception-tracking service compatible ++// with the Airbrake API. ++type airbrakeHook struct { ++ APIKey string ++ Endpoint string ++ Environment string ++} ++ ++func NewHook(endpoint, apiKey, env string) *airbrakeHook { ++ return &airbrakeHook{ ++ APIKey: apiKey, ++ Endpoint: endpoint, ++ Environment: env, ++ } ++} ++ ++func (hook *airbrakeHook) Fire(entry *logrus.Entry) error { ++ airbrake.ApiKey = hook.APIKey ++ airbrake.Endpoint = hook.Endpoint ++ airbrake.Environment = hook.Environment ++ ++ var notifyErr error ++ err, ok := entry.Data["error"].(error) ++ if ok { ++ notifyErr = err ++ } else { ++ notifyErr = errors.New(entry.Message) ++ } ++ ++ airErr := airbrake.Notify(notifyErr) ++ if airErr != nil { ++ return fmt.Errorf("Failed to send error to Airbrake: %s", airErr) ++ } ++ ++ return nil ++} ++ ++func (hook *airbrakeHook) Levels() []logrus.Level { ++ return []logrus.Level{ ++ logrus.ErrorLevel, ++ logrus.FatalLevel, ++ logrus.PanicLevel, ++ } ++} +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go +new file mode 100644 +index 0000000..d20a0f5 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go +@@ -0,0 +1,68 @@ ++package logrus_bugsnag ++ ++import ( ++ "errors" ++ ++ "github.com/Sirupsen/logrus" ++ "github.com/bugsnag/bugsnag-go" ++) ++ ++type bugsnagHook struct{} ++ ++// ErrBugsnagUnconfigured is returned if NewBugsnagHook is called before ++// bugsnag.Configure. Bugsnag must be configured before the hook. ++var ErrBugsnagUnconfigured = errors.New("bugsnag must be configured before installing this logrus hook") ++ ++// ErrBugsnagSendFailed indicates that the hook failed to submit an error to ++// bugsnag. The error was successfully generated, but `bugsnag.Notify()` ++// failed. ++type ErrBugsnagSendFailed struct { ++ err error ++} ++ ++func (e ErrBugsnagSendFailed) Error() string { ++ return "failed to send error to Bugsnag: " + e.err.Error() ++} ++ ++// NewBugsnagHook initializes a logrus hook which sends exceptions to an ++// exception-tracking service compatible with the Bugsnag API. Before using ++// this hook, you must call bugsnag.Configure(). The returned object should be ++// registered with a log via `AddHook()` ++// ++// Entries that trigger an Error, Fatal or Panic should now include an "error" ++// field to send to Bugsnag. ++func NewBugsnagHook() (*bugsnagHook, error) { ++ if bugsnag.Config.APIKey == "" { ++ return nil, ErrBugsnagUnconfigured ++ } ++ return &bugsnagHook{}, nil ++} ++ ++// Fire forwards an error to Bugsnag. Given a logrus.Entry, it extracts the ++// "error" field (or the Message if the error isn't present) and sends it off. ++func (hook *bugsnagHook) Fire(entry *logrus.Entry) error { ++ var notifyErr error ++ err, ok := entry.Data["error"].(error) ++ if ok { ++ notifyErr = err ++ } else { ++ notifyErr = errors.New(entry.Message) ++ } ++ ++ bugsnagErr := bugsnag.Notify(notifyErr) ++ if bugsnagErr != nil { ++ return ErrBugsnagSendFailed{bugsnagErr} ++ } ++ ++ return nil ++} ++ ++// Levels enumerates the log levels on which the error should be forwarded to ++// bugsnag: everything at or above the "Error" level. ++func (hook *bugsnagHook) Levels() []logrus.Level { ++ return []logrus.Level{ ++ logrus.ErrorLevel, ++ logrus.FatalLevel, ++ logrus.PanicLevel, ++ } ++} +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md +new file mode 100644 +index 0000000..ae61e92 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md +@@ -0,0 +1,28 @@ ++# Papertrail Hook for Logrus :walrus: ++ ++[Papertrail](https://papertrailapp.com) provides hosted log management. Once stored in Papertrail, you can [group](http://help.papertrailapp.com/kb/how-it-works/groups/) your logs on various dimensions, [search](http://help.papertrailapp.com/kb/how-it-works/search-syntax) them, and trigger [alerts](http://help.papertrailapp.com/kb/how-it-works/alerts). ++ ++In most deployments, you'll want to send logs to Papertrail via their [remote_syslog](http://help.papertrailapp.com/kb/configuration/configuring-centralized-logging-from-text-log-files-in-unix/) daemon, which requires no application-specific configuration. This hook is intended for relatively low-volume logging, likely in managed cloud hosting deployments where installing `remote_syslog` is not possible. ++ ++## Usage ++ ++You can find your Papertrail UDP port on your [Papertrail account page](https://papertrailapp.com/account/destinations). Substitute it below for `YOUR_PAPERTRAIL_UDP_PORT`. ++ ++For `YOUR_APP_NAME`, substitute a short string that will readily identify your application or service in the logs. ++ ++```go ++import ( ++ "log/syslog" ++ "github.com/Sirupsen/logrus" ++ "github.com/Sirupsen/logrus/hooks/papertrail" ++) ++ ++func main() { ++ log := logrus.New() ++ hook, err := logrus_papertrail.NewPapertrailHook("logs.papertrailapp.com", YOUR_PAPERTRAIL_UDP_PORT, YOUR_APP_NAME) ++ ++ if err == nil { ++ log.Hooks.Add(hook) ++ } ++} ++``` +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go +new file mode 100644 +index 0000000..c0f10c1 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go +@@ -0,0 +1,55 @@ ++package logrus_papertrail ++ ++import ( ++ "fmt" ++ "net" ++ "os" ++ "time" ++ ++ "github.com/Sirupsen/logrus" ++) ++ ++const ( ++ format = "Jan 2 15:04:05" ++) ++ ++// PapertrailHook to send logs to a logging service compatible with the Papertrail API. ++type PapertrailHook struct { ++ Host string ++ Port int ++ AppName string ++ UDPConn net.Conn ++} ++ ++// NewPapertrailHook creates a hook to be added to an instance of logger. ++func NewPapertrailHook(host string, port int, appName string) (*PapertrailHook, error) { ++ conn, err := net.Dial("udp", fmt.Sprintf("%s:%d", host, port)) ++ return &PapertrailHook{host, port, appName, conn}, err ++} ++ ++// Fire is called when a log event is fired. ++func (hook *PapertrailHook) Fire(entry *logrus.Entry) error { ++ date := time.Now().Format(format) ++ msg, _ := entry.String() ++ payload := fmt.Sprintf("<22> %s %s: %s", date, hook.AppName, msg) ++ ++ bytesWritten, err := hook.UDPConn.Write([]byte(payload)) ++ if err != nil { ++ fmt.Fprintf(os.Stderr, "Unable to send log line to Papertrail via UDP. Wrote %d bytes before error: %v", bytesWritten, err) ++ return err ++ } ++ ++ return nil ++} ++ ++// Levels returns the available logging levels. ++func (hook *PapertrailHook) Levels() []logrus.Level { ++ return []logrus.Level{ ++ logrus.PanicLevel, ++ logrus.FatalLevel, ++ logrus.ErrorLevel, ++ logrus.WarnLevel, ++ logrus.InfoLevel, ++ logrus.DebugLevel, ++ } ++} +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md +new file mode 100644 +index 0000000..19e58bb +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md +@@ -0,0 +1,61 @@ ++# Sentry Hook for Logrus :walrus: ++ ++[Sentry](https://getsentry.com) provides both self-hosted and hosted ++solutions for exception tracking. ++Both client and server are ++[open source](https://github.com/getsentry/sentry). ++ ++## Usage ++ ++Every sentry application defined on the server gets a different ++[DSN](https://www.getsentry.com/docs/). In the example below replace ++`YOUR_DSN` with the one created for your application. ++ ++```go ++import ( ++ "github.com/Sirupsen/logrus" ++ "github.com/Sirupsen/logrus/hooks/sentry" ++) ++ ++func main() { ++ log := logrus.New() ++ hook, err := logrus_sentry.NewSentryHook(YOUR_DSN, []logrus.Level{ ++ logrus.PanicLevel, ++ logrus.FatalLevel, ++ logrus.ErrorLevel, ++ }) ++ ++ if err == nil { ++ log.Hooks.Add(hook) ++ } ++} ++``` ++ ++## Special fields ++ ++Some logrus fields have a special meaning in this hook, ++these are server_name and logger. ++When logs are sent to sentry these fields are treated differently. ++- server_name (also known as hostname) is the name of the server which ++is logging the event (hostname.example.com) ++- logger is the part of the application which is logging the event. ++In go this usually means setting it to the name of the package. ++ ++## Timeout ++ ++`Timeout` is the time the sentry hook will wait for a response ++from the sentry server. ++ ++If this time elapses with no response from ++the server an error will be returned. ++ ++If `Timeout` is set to 0 the SentryHook will not wait for a reply ++and will assume a correct delivery. ++ ++The SentryHook has a default timeout of `100 milliseconds` when created ++with a call to `NewSentryHook`. This can be changed by assigning a value to the `Timeout` field: ++ ++```go ++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 +new file mode 100644 +index 0000000..379f281 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go +@@ -0,0 +1,100 @@ ++package logrus_sentry ++ ++import ( ++ "fmt" ++ "time" ++ ++ "github.com/Sirupsen/logrus" ++ "github.com/getsentry/raven-go" ++) ++ ++var ( ++ severityMap = map[logrus.Level]raven.Severity{ ++ logrus.DebugLevel: raven.DEBUG, ++ logrus.InfoLevel: raven.INFO, ++ logrus.WarnLevel: raven.WARNING, ++ logrus.ErrorLevel: raven.ERROR, ++ logrus.FatalLevel: raven.FATAL, ++ logrus.PanicLevel: raven.FATAL, ++ } ++) ++ ++func getAndDel(d logrus.Fields, key string) (string, bool) { ++ var ( ++ ok bool ++ v interface{} ++ val string ++ ) ++ if v, ok = d[key]; !ok { ++ return "", false ++ } ++ ++ if val, ok = v.(string); !ok { ++ return "", false ++ } ++ delete(d, key) ++ return val, true ++} ++ ++// SentryHook delivers logs to a sentry server. ++type SentryHook struct { ++ // Timeout sets the time to wait for a delivery error from the sentry server. ++ // If this is set to zero the server will not wait for any response and will ++ // consider the message correctly sent ++ Timeout time.Duration ++ ++ client *raven.Client ++ levels []logrus.Level ++} ++ ++// NewSentryHook creates a hook to be added to an instance of logger ++// and initializes the raven client. ++// This method sets the timeout to 100 milliseconds. ++func NewSentryHook(DSN string, levels []logrus.Level) (*SentryHook, error) { ++ client, err := raven.NewClient(DSN, nil) ++ if err != nil { ++ return nil, err ++ } ++ return &SentryHook{100 * time.Millisecond, client, levels}, nil ++} ++ ++// Called when an event should be sent to sentry ++// Special fields that sentry uses to give more information to the server ++// are extracted from entry.Data (if they are found) ++// These fields are: logger and server_name ++func (hook *SentryHook) Fire(entry *logrus.Entry) error { ++ packet := &raven.Packet{ ++ Message: entry.Message, ++ Timestamp: raven.Timestamp(entry.Time), ++ Level: severityMap[entry.Level], ++ Platform: "go", ++ } ++ ++ d := entry.Data ++ ++ if logger, ok := getAndDel(d, "logger"); ok { ++ packet.Logger = logger ++ } ++ if serverName, ok := getAndDel(d, "server_name"); ok { ++ packet.ServerName = serverName ++ } ++ packet.Extra = map[string]interface{}(d) ++ ++ _, errCh := hook.client.Capture(packet, nil) ++ timeout := hook.Timeout ++ if timeout != 0 { ++ timeoutCh := time.After(timeout) ++ select { ++ case err := <-errCh: ++ return err ++ case <-timeoutCh: ++ return fmt.Errorf("no response from sentry server in %s", timeout) ++ } ++ } ++ return nil ++} ++ ++// Levels returns the available logging levels. ++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 +new file mode 100644 +index 0000000..4dbb8e7 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md +@@ -0,0 +1,20 @@ ++# Syslog Hooks for Logrus :walrus: ++ ++## Usage ++ ++```go ++import ( ++ "log/syslog" ++ "github.com/Sirupsen/logrus" ++ logrus_syslog "github.com/Sirupsen/logrus/hooks/syslog" ++) ++ ++func main() { ++ log := logrus.New() ++ hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") ++ ++ if err == nil { ++ log.Hooks.Add(hook) ++ } ++} ++``` +diff --git a/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go +new file mode 100644 +index 0000000..b6fa374 +--- /dev/null ++++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go +@@ -0,0 +1,59 @@ ++package logrus_syslog ++ ++import ( ++ "fmt" ++ "github.com/Sirupsen/logrus" ++ "log/syslog" ++ "os" ++) ++ ++// SyslogHook to send logs via syslog. ++type SyslogHook struct { ++ Writer *syslog.Writer ++ SyslogNetwork string ++ SyslogRaddr string ++} ++ ++// Creates a hook to be added to an instance of logger. This is called with ++// `hook, err := NewSyslogHook("udp", "localhost:514", syslog.LOG_DEBUG, "")` ++// `if err == nil { log.Hooks.Add(hook) }` ++func NewSyslogHook(network, raddr string, priority syslog.Priority, tag string) (*SyslogHook, error) { ++ w, err := syslog.Dial(network, raddr, priority, tag) ++ return &SyslogHook{w, network, raddr}, err ++} ++ ++func (hook *SyslogHook) Fire(entry *logrus.Entry) error { ++ line, err := entry.String() ++ if err != nil { ++ fmt.Fprintf(os.Stderr, "Unable to read entry, %v", err) ++ return err ++ } ++ ++ switch entry.Level { ++ case logrus.PanicLevel: ++ return hook.Writer.Crit(line) ++ case logrus.FatalLevel: ++ return hook.Writer.Crit(line) ++ case logrus.ErrorLevel: ++ return hook.Writer.Err(line) ++ case logrus.WarnLevel: ++ return hook.Writer.Warning(line) ++ case logrus.InfoLevel: ++ return hook.Writer.Info(line) ++ case logrus.DebugLevel: ++ return hook.Writer.Debug(line) ++ default: ++ return nil ++ } ++} ++ ++func (hook *SyslogHook) Levels() []logrus.Level { ++ return []logrus.Level{ ++ logrus.PanicLevel, ++ logrus.FatalLevel, ++ logrus.ErrorLevel, ++ logrus.WarnLevel, ++ logrus.InfoLevel, ++ logrus.DebugLevel, ++ } ++} +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..b0fc5f4e02f5be087916de837c7737decac33e0e --- /dev/null +++ b/patch/0061-runc-17-change-golang-build-version-to-make-o.patch @@ -0,0 +1,39 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..805c0007b5825b4f5540ec297569247e43a763fd --- /dev/null +++ b/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch @@ -0,0 +1,47 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..3a12eadb8844b865b6e060c3bfe8f0b25e403447 --- /dev/null +++ b/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch @@ -0,0 +1,58 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..3b3f49f99544cc5ca3b9d9bd74e93a9ba9c30d13 --- /dev/null +++ b/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch @@ -0,0 +1,30 @@ +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/0065-runc-support-namespaced-kernel-params-can-be-.patch b/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch new file mode 100644 index 0000000000000000000000000000000000000000..b96417677bf54f0d46ad2d6a7ec91c99b2f29e50 --- /dev/null +++ b/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch @@ -0,0 +1,94 @@ +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 + +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(+) + +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": ++ if strings.HasPrefix(m.Destination, "/proc/sys/") { ++ return nil ++ } + if err := os.MkdirAll(dest, 0755); 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, "") + } + ++// remountReadWrite will bind over the top of an existing path and ensure that it is read-write. ++func remountReadWrite(path string) error { ++ for i := 0; i < 5; i++ { ++ if err := syscall.Mount("", path, "", syscall.MS_REMOUNT, ""); err != nil && !os.IsNotExist(err) { ++ switch err { ++ case syscall.EINVAL: ++ // Probably not a mountpoint, use bind-mount ++ if err := syscall.Mount(path, path, "", syscall.MS_BIND, ""); err != nil { ++ return err ++ } ++ return syscall.Mount(path, path, "", syscall.MS_BIND|syscall.MS_REMOUNT|syscall.MS_REC|defaultMountFlags, "") ++ case syscall.EBUSY: ++ time.Sleep(100 * time.Millisecond) ++ continue ++ default: ++ return err ++ } ++ } ++ return nil ++ } ++ return fmt.Errorf("unable to mount %s as readwrite max retries reached", path) ++} ++ + // 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 + } + } ++ for _, m := range l.config.Config.Mounts { ++ if m.Flags&syscall.MS_RDONLY == 0 && m.Device == "proc" && strings.HasPrefix(m.Destination, "/proc/sys/") { ++ if err := remountReadWrite(m.Destination); err != nil { ++ return err ++ } ++ } ++ } + for _, path := range l.config.Config.MaskPaths { + if err := maskPath(path); err != nil { + return err +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..c94e0e3ecacf71da3b6db2baaa70efbeea2eb0ae --- /dev/null +++ b/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch @@ -0,0 +1,29 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..1705ecbe6950dbe797d18e39209c3523b201eda3 --- /dev/null +++ b/patch/0067-runc-make-the-runc-log-more-useful.patch @@ -0,0 +1,137 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..a3b1d4b2bfbe7901d3c00023709c72793cd3ae6f --- /dev/null +++ b/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch @@ -0,0 +1,52 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..b50ea470312c8598b5c6f860ad14218c81b5fe5e --- /dev/null +++ b/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch @@ -0,0 +1,92 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0944073c8fdd55975e285072aabab027922abdcc --- /dev/null +++ b/patch/0070-runc-not-print-no-such-file-when-cli-err.patch @@ -0,0 +1,48 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..09423beed94760d629cdb768293cddb18f75b2cd --- /dev/null +++ b/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch @@ -0,0 +1,88 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..40825f2fc267c32ad9068a4497840d0e0871441c --- /dev/null +++ b/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch @@ -0,0 +1,32 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..433e67e4cbbdfb38592705b7e6e058e750d25bdf --- /dev/null +++ b/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch @@ -0,0 +1,80 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..c75dccb0be05d58734f18d31aff27dad5ab63f24 --- /dev/null +++ b/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch @@ -0,0 +1,78 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..57fc63dcc7c86a653feb718275ae5565799be199 --- /dev/null +++ b/patch/0075-runc-Fix-systemd-journald-service-dependency.patch @@ -0,0 +1,62 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..321bc413988ae93e2850b192d8105d65351e9eba --- /dev/null +++ b/patch/0076-runc-Fix-syslog-hook-bug.patch @@ -0,0 +1,60 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..2d721928fc26af416fba7c282243ad9307731c65 --- /dev/null +++ b/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch @@ -0,0 +1,38 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0a96a804432ec9e09b6e894245b2f8a661b42f99 --- /dev/null +++ b/patch/0078-runc-Fix-race-in-runc-exec.patch @@ -0,0 +1,499 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..30c0d4f8bd16083da06f968aac2a5df1b8680f3a --- /dev/null +++ b/patch/0079-runc-modify-spec-file-for-upgrade.patch @@ -0,0 +1,29 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..4f351a6fc90552a77402beea24e961e88ac8e429 --- /dev/null +++ b/patch/0080-runc-support-specify-umask.patch @@ -0,0 +1,73 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..fb9e5307d4be6ead10cc00bdc89d5ac7d2f38162 --- /dev/null +++ b/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch @@ -0,0 +1,151 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..5e027561b130a09a537354c66dd4fdf695c102fc --- /dev/null +++ b/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch @@ -0,0 +1,118 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..3403407f3076533ac7cb1d9231a3c7da5a3b1a18 --- /dev/null +++ b/patch/0083-log-fix-runc-log-decode-failed.patch @@ -0,0 +1,74 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..a5229178dbebfd2e6bd501fc02bde491bb38965c --- /dev/null +++ b/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch @@ -0,0 +1,108 @@ +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/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch b/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch new file mode 100644 index 0000000000000000000000000000000000000000..3ad4aecc70f686c31cb5a979d7c815144e1e0fad --- /dev/null +++ b/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch @@ -0,0 +1,40 @@ +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 + +reason:when userns enabled, runc will run as normal user, it has +no rights to setup sysctl even the ipcns sysctl. let docker-hooks do this job. + +Change-Id: Ia77b8c1bf4255973736f04c0962eae722ed9683e +Signed-off-by: gus.gao +Signed-off-by: zhangsong34 +--- + libcontainer/standard_init_linux.go | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go +index 18506af..fd836f3 100644 +--- 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 + } +- +- for key, value := range l.config.Config.Sysctl { +- if err := writeSystemProperty(key, value); err != nil { +- return err ++ // when userns enabled, write to sysctl will fail, let docker-hooks do this job ++ if len(l.config.Config.UidMappings) == 0 && len(l.config.Config.GidMappings) == 0 { ++ for key, value := range l.config.Config.Sysctl { ++ if err := writeSystemProperty(key, value); err != nil { ++ return err ++ } + } + } + for _, path := range l.config.Config.ReadonlyPaths { +-- +2.7.4.3 + diff --git a/patch/0086-runc-support-set-seccomp-priority.patch b/patch/0086-runc-support-set-seccomp-priority.patch new file mode 100644 index 0000000000000000000000000000000000000000..0d3929d5f59a74d33d47aeb54febb5bd31bd9eb4 --- /dev/null +++ b/patch/0086-runc-support-set-seccomp-priority.patch @@ -0,0 +1,68 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..8948d51b76bf9e43fb6ffa11efa04d86b1cf4dd9 --- /dev/null +++ b/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch @@ -0,0 +1,48 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..92e00607b418e07dd3ce15efe21e0d4e8e442316 --- /dev/null +++ b/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch @@ -0,0 +1,306 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..f374607a0c768b15cd0edcd3198bb1a14218ab25 --- /dev/null +++ b/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch @@ -0,0 +1,294 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..c822adbd6c698cf1db66a7bb5c66b407402ee43e --- /dev/null +++ b/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch @@ -0,0 +1,357 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..bd015b28cc7f0071108a7943d351bd43271a086c --- /dev/null +++ b/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch @@ -0,0 +1,207 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..4c5509db4a19cdc1b3be4930565edce46dffab4e --- /dev/null +++ b/patch/0092-runc-cve-2019-5736-fix-build-failure.patch @@ -0,0 +1,47 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..dc9b0f9c9a9d9607d6e54b8c7096070c9399b7c3 --- /dev/null +++ b/patch/0093-runc-fix-error-when-check-the-init-process.patch @@ -0,0 +1,46 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0f3626cc22531bf7908ee9e278757b8bf6929bdd --- /dev/null +++ b/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch @@ -0,0 +1,30 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..b27e5956bfc5b78aa1e41b59554cfab78b091a7c --- /dev/null +++ b/patch/0095-runc-just-warning-when-poststart-and-poststop.patch @@ -0,0 +1,50 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..8adb55aff2b326d6a5a89056f77504a058eb354b --- /dev/null +++ b/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch @@ -0,0 +1,31 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..08cfe015109345276e7433d1dd31fea584bbd502 --- /dev/null +++ b/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch @@ -0,0 +1,120 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0d745dc7c04275fb5466ac2db77a28a1e3808afe --- /dev/null +++ b/patch/0098-runc-fix-read-only-containers-under-userns-.patch @@ -0,0 +1,40 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0d2c78ba81295b7cd9e6abda984645aa81bdd876 --- /dev/null +++ b/patch/0099-runc-enable-bep-ldflags.patch @@ -0,0 +1,49 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0688c8902fb5525274468c14a20aaec2acd7a462 --- /dev/null +++ b/patch/0100-runc-set-makefile-buildid.patch @@ -0,0 +1,44 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..39bb3a048bc0af606a80d5fa1b09f66dd208abd8 --- /dev/null +++ b/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch @@ -0,0 +1,63 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..8a2114de14b80d875c3ce4003ce716cac701154f --- /dev/null +++ b/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..6ac39314b4fde30f3cdfa6dc1bbe85b101d5cc95 --- /dev/null +++ b/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch @@ -0,0 +1,79 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..78890db7a8b00052ed8b6a96a01e88eebb22d343 --- /dev/null +++ b/patch/0105-runc-disable-core-dump-during-pipe-io.patch @@ -0,0 +1,35 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..81e48f39f66dcfa226812b19f6f3f1171d6430ca --- /dev/null +++ b/patch/0106-runc-do-not-override-devices.allow-file-when-.patch @@ -0,0 +1,92 @@ +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/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch b/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch new file mode 100644 index 0000000000000000000000000000000000000000..32fe3066a43d62b54eacfe3150f6dce4d34ed3ac --- /dev/null +++ b/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch @@ -0,0 +1,41 @@ +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 + +reason: libseccomp updating causes runc exec performance +degradation, which causes container health check failed and container +is killed. So we add an environmental variable to skip this unnecessary +seccomp step. + +related test data: +before fixing, exec "runc exec" 20 times, +start time: 1566210117.193673318 end time: 1566210125.493181368 +takes about 8s +after fixing, exec "runc exec" 20 times, +start time: 1566210059.708669785 end time: 1566210060.879416932 +takes about 1s + +Change-Id: I751ac8354394bd15a420ad8410b12ef3f75622a1 +Signed-off-by: xiadanni +--- + 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 { ++ os.Setenv("LIBSECCOMP_TRANSACTION_DISABLE", "1") ++ defer os.Unsetenv("LIBSECCOMP_TRANSACTION_DISABLE") ++ + if config == nil { + return fmt.Errorf("cannot initialize Seccomp - nil config passed") + } +-- +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 new file mode 100644 index 0000000000000000000000000000000000000000..b4c9db14c127400d27aa465e0a764f96b6305c82 --- /dev/null +++ b/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch @@ -0,0 +1,55 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..ee75ecea5af69c81955cba9b2d5aee48fad3ff91 --- /dev/null +++ b/patch/0109-runc-add-copyright.patch @@ -0,0 +1,31 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..85bc12be22319a56bfa26d3acee28b562b7750f2 --- /dev/null +++ b/patch/0110-runc-add-lisence.patch @@ -0,0 +1,28 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..38efc55a8789c1c17da965277d8683f4d029f62f --- /dev/null +++ b/patch/0111-runc-add-log-message-for-cgroup-file-check.patch @@ -0,0 +1,67 @@ +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-add-log-message-for-cgroup-file-check.patch b/patch/0112-runc-add-log-message-for-cgroup-file-check.patch new file mode 100644 index 0000000000000000000000000000000000000000..c219484cd1071fd48a4a8ce4278955d7fde9f9d7 --- /dev/null +++ b/patch/0112-runc-add-log-message-for-cgroup-file-check.patch @@ -0,0 +1,45 @@ +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-modify-files-cgroup-info-reading-path.patch b/patch/0113-runc-modify-files-cgroup-info-reading-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..152357f90cf5c3644219e86283c22778f1706011 --- /dev/null +++ b/patch/0113-runc-modify-files-cgroup-info-reading-path.patch @@ -0,0 +1,79 @@ +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/runc-1.0.0-rc3.zip b/runc-1.0.0-rc3.zip new file mode 100644 index 0000000000000000000000000000000000000000..4aa86d9e552a322d512e4e221b6f9101cb7d9a05 Binary files /dev/null and b/runc-1.0.0-rc3.zip differ diff --git a/runc-openeuler.spec b/runc-openeuler.spec new file mode 100644 index 0000000000000000000000000000000000000000..c87c57c1d7d6d8847b0a6eae3d014b0958225579 --- /dev/null +++ b/runc-openeuler.spec @@ -0,0 +1,42 @@ +%global _bindir /usr/local/bin + +Name: docker-runc +Version: 1.0.0.rc3 +Release: 101 +Summary: runc is a CLI tool for spawning and running containers according to the OCI specification. + +License: ASL 2.0 +Source: %{name}.tar.gz + +URL: https://www.opencontainers.org/ +Vendor: OCI +Packager: OCI + +BuildRequires: golang >= 1.8.3 glibc-static make libseccomp-devel libseccomp-static libselinux-devel + +%description +runc is a CLI tool for spawning and running containers according to the OCI specification. + +%prep +%setup -c -n runc + +%install +./apply-patch + +mkdir -p .gopath/src/github.com/opencontainers +export GOPATH=`pwd`/.gopath +ln -sf `pwd` .gopath/src/github.com/opencontainers/runc +cd .gopath/src/github.com/opencontainers/runc +make BUILDTAGS="seccomp selinux" static +rm -rf .gopath + +install -d $RPM_BUILD_ROOT/%{_bindir} +install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc + +%clean +%{__rm} -rf %{_bindir}/runc + +%files +%{_bindir}/runc + +%changelog diff --git a/series.conf b/series.conf new file mode 100644 index 0000000000000000000000000000000000000000..d891a9c1c718c2d8602a1cd3227fc36525b61407 --- /dev/null +++ b/series.conf @@ -0,0 +1,110 @@ +0001-.travis.yml-Don-t-require-FETCH_HEAD.patch +0002-Don-t-try-to-read-freezer.state-from-the-cu.patch +0003-Use-opencontainers-selinux-package.patch +0004-handle-unprivileged-operations-and-dumpable.patch +0005-runc-add-support-for-rootless-containers.patch +0006-rootless-add-rootless-cgroup-manager.patch +0007-libcontainer-configs-add-proper-HostUID-and.patch +0008-libcontainer-init-fix-unmapped-console-fcho.patch +0009-rootless-add-autogenerated-rootless-config-.patch +0010-integration-added-root-requires.patch +0011-tests-add-rootless-integration-tests.patch +0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch +0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch +0014-Set-container-state-only-once-during-start.patch +0015-checkpoint-check-if-system-supports-pre-dum.patch +0016-Fix-console-syscalls.patch +0017-restore-apply-resource-limits.patch +0018-could-load-a-stopped-container.patch +0019-Revert-back-to-using-sbin.patch +0020-add-testcase-in-generic_error_test.go.patch +0021-Fix-misspelling-of-properties-in-various-pl.patch +0022-Add-a-rootless-containers-section-on-README.patch +0023-vendor-clean-up-to-be-better-written.patch +0024-Optimizing-looping-over-namespaces.patch +0025-Add-a-rootless-section-to-spec-man-page-and.patch +0026-Allow-updating-container-pids-limit.patch +0027-Remove-redundant-declaraion-of-namespace-sl.patch +0028-Revert-saneTerminal.patch +0029-vendor-runtime-spec-fork-docker-runtime-spe.patch +0030-Update-memory-specs-to-use-int64-not-uint64.patch +0031-Add-spec-for-euleros.patch +0032-runc-17-Always-save-own-namespace-paths.patch +0033-runc-change-runc-default-umask-to-027.patch +0034-runc-17-Add-some-compatibility-code-to-surpor.patch +0035-runc-17-Add-root-to-HookState-for-compatibili.patch +0036-runc-17-add-compatibility-for-docker-1.11.2.patch +0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch +0039-Fix-unittest-and-integration-test-error-cause.patch +0041-Add-timeout-for-syscall.Openat.patch +0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch +0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch +0044-runc-default-mount-propagation-correctly.patch +0045-runc-add-hook-specific-info-when-error-occurr.patch +0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch +0047-runc-add-more-specific-log-for-hooks.patch +0048-runc-Only-configure-networking.patch +0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch +0050-runc-Avoid-race-when-opening-exec-fifo.patch +0051-runc-Return-from-goroutine-when-it-should-t.patch +0052-runc-reduce-max-number-of-retries-to-10.patch +0053-runc-print-error-message-during-start-into-co.patch +0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch +0055-Add-file-fds-limit.patch +0056-runc-Modify-max-files.limit-to-max-because-of.patch +0057-runc-change-read-value-of-cgroup-files.limit-.patch +0058-runc-fix-panic-when-Linux-is-nil.patch +0059-Fix-setup-cgroup-before-prestart-hook.patch +0060-runc-runc-logs-forwarding-to-syslog.patch +0061-runc-17-change-golang-build-version-to-make-o.patch +0062-runc-Check-the-hook-timeout-in-case-overflow.patch +0063-docker-close-openchan-immediately-to-avoid-er.patch +0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch +0065-runc-support-namespaced-kernel-params-can-be-.patch +0066-runc-bump-to-v1.0.0.rc3.6.patch +0067-runc-make-the-runc-log-more-useful.patch +0068-runc-reduced-the-same-log-when-the-hook-exect.patch +0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch +0070-runc-not-print-no-such-file-when-cli-err.patch +0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch +0072-Revert-runc-not-print-no-such-file-when-cli-e.patch +0073-runc-fix-state.json-no-such-file-or-directory.patch +0074-runc-fix-check-sysctl-in-host-network-mode.patch +0075-runc-Fix-systemd-journald-service-dependency.patch +0076-runc-Fix-syslog-hook-bug.patch +0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch +0078-runc-Fix-race-in-runc-exec.patch +0079-runc-modify-spec-file-for-upgrade.patch +0080-runc-support-specify-umask.patch +0081-runc-fix-oom-killer-disable-unhandled-due-t.patch +0082-runc-make-runc-spec-and-docker-18.9-compati.patch +0083-log-fix-runc-log-decode-failed.patch +0084-oci-fix-runc-panic-and-support-oom-score.patch +0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch +0086-runc-support-set-seccomp-priority.patch +0087-runc-fix-spec-LinuxSyscall-struct.patch +0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch +0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +0091-runc-cve-2019-5736-workaround-if-memfd_create.patch +0092-runc-cve-2019-5736-fix-build-failure.patch +0093-runc-fix-error-when-check-the-init-process.patch +0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch +0095-runc-just-warning-when-poststart-and-poststop.patch +0096-runc-do-not-kill-container-if-poststart-hooks.patch +0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch +0098-runc-fix-read-only-containers-under-userns-.patch +0099-runc-enable-bep-ldflags.patch +0100-runc-set-makefile-buildid.patch +0101-runc-print-memory-info-when-syscall.Exec-fail.patch +0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch +0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch +0105-runc-disable-core-dump-during-pipe-io.patch +0106-runc-do-not-override-devices.allow-file-when-.patch +0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch +0108-runc-print-files-limit-and-usage-when-exec-fa.patch +0109-runc-add-copyright.patch +0110-runc-add-lisence.patch +0111-runc-add-log-message-for-cgroup-file-check.patch +0112-runc-add-log-message-for-cgroup-file-check.patch +0113-runc-modify-files-cgroup-info-reading-path.patch