mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-31 16:13:45 +08:00 
			
		
		
		
	Use golang.org/x/sys/execabs
Signed-off-by: Tibor Vass <tibor@docker.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.mod
									
									
									
									
									
								
							| @@ -12,10 +12,11 @@ require ( | ||||
| 	github.com/containerd/console v1.0.1 | ||||
| 	github.com/containerd/containerd v1.4.1-0.20201117152358-0edc412565dc | ||||
| 	github.com/denisenkom/go-mssqldb v0.0.0-20190315220205-a8ed825ac853 // indirect | ||||
| 	github.com/docker/cli v20.10.0-beta1.0.20201029214301-1d20b15adc38+incompatible | ||||
| 	github.com/docker/cli v20.10.3-0.20210127070556-d26bdfd4ea23+incompatible | ||||
| 	github.com/docker/compose-on-kubernetes v0.4.19-0.20190128150448-356b2919c496 // indirect | ||||
| 	github.com/docker/distribution v2.7.1+incompatible | ||||
| 	github.com/docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1+incompatible | ||||
| 	github.com/docker/docker-credential-helpers v0.6.4-0.20210125172408-38bea2ce277a // indirect | ||||
| 	github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect | ||||
| 	github.com/docker/go-metrics v0.0.1 // indirect | ||||
| 	github.com/docker/libtrust v0.0.0-20150526203908-9cbd2a1374f4 // indirect | ||||
|   | ||||
							
								
								
									
										7
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								go.sum
									
									
									
									
									
								
							| @@ -278,6 +278,7 @@ github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= | ||||
| github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | ||||
| github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= | ||||
| github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= | ||||
| github.com/danieljoos/wincred v1.1.0/go.mod h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg= | ||||
| github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||
| @@ -295,6 +296,8 @@ github.com/docker/cli v0.0.0-20190925022749-754388324470/go.mod h1:JLrzqnKDaYBop | ||||
| github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||
| github.com/docker/cli v20.10.0-beta1.0.20201029214301-1d20b15adc38+incompatible h1:r99CiNpN5pxrSuSH36suYxrbLxFOhBvQ0sEH6624MHs= | ||||
| github.com/docker/cli v20.10.0-beta1.0.20201029214301-1d20b15adc38+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||
| github.com/docker/cli v20.10.3-0.20210127070556-d26bdfd4ea23+incompatible h1:rPkhMVkyVcQgvyfDh/bHJ+pJCeG6YjKbEhv0AFsu9NM= | ||||
| github.com/docker/cli v20.10.3-0.20210127070556-d26bdfd4ea23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||
| github.com/docker/compose-on-kubernetes v0.4.19-0.20190128150448-356b2919c496 h1:90ytrX1dbzL7Uf/hHiuWwvywC+gikHv4hkAy4CwRTbs= | ||||
| github.com/docker/compose-on-kubernetes v0.4.19-0.20190128150448-356b2919c496/go.mod h1:iT2pYfi580XlpaV4KmK0T6+4/9+XoKmk/fhoDod1emE= | ||||
| github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= | ||||
| @@ -311,6 +314,8 @@ github.com/docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1+incompatib | ||||
| github.com/docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||
| github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= | ||||
| github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= | ||||
| github.com/docker/docker-credential-helpers v0.6.4-0.20210125172408-38bea2ce277a h1:1DndKi+f9qs3AexOfI6di7RkWcWlNHzdqHu1cX19/ac= | ||||
| github.com/docker/docker-credential-helpers v0.6.4-0.20210125172408-38bea2ce277a/go.mod h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c= | ||||
| github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= | ||||
| github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= | ||||
| github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= | ||||
| @@ -1253,6 +1258,8 @@ golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7w | ||||
| golang.org/x/sys v0.0.0-20200917073148-efd3b9a0ff20/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201013081832-0aaa2718063a h1:bhXnJ7fn2SiL+C8iOWPfNBJKDTjUByftpPW7b9CX94U= | ||||
| golang.org/x/sys v0.0.0-20201013081832-0aaa2718063a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4 h1:myAQVi0cGEoqQVR5POX+8RR2mrocKqNN1hmeMqhX27k= | ||||
| golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 h1:/ZHdbVpdR/jk3g30/d4yUL0JU9kksj8+F/bnQUVLGDM= | ||||
| golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | ||||
| golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/docker/cli/cli-plugins/manager/candidate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/cli/cli-plugins/manager/candidate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| package manager | ||||
|  | ||||
| import ( | ||||
| 	"os/exec" | ||||
| 	exec "golang.org/x/sys/execabs" | ||||
| ) | ||||
|  | ||||
| // Candidate represents a possible plugin candidate, for mocking purposes | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/docker/cli/cli-plugins/manager/manager.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/cli/cli-plugins/manager/manager.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,6 @@ package manager | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"path/filepath" | ||||
| 	"sort" | ||||
| 	"strings" | ||||
| @@ -12,6 +11,7 @@ import ( | ||||
| 	"github.com/docker/cli/cli/config" | ||||
| 	"github.com/fvbommel/sortorder" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	exec "golang.org/x/sys/execabs" | ||||
| ) | ||||
|  | ||||
| // ReexecEnvvar is the name of an ennvar which is set to the command | ||||
|   | ||||
							
								
								
									
										22
									
								
								vendor/github.com/docker/cli/cli/cobra.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/docker/cli/cli/cobra.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,6 +10,7 @@ import ( | ||||
| 	cliconfig "github.com/docker/cli/cli/config" | ||||
| 	cliflags "github.com/docker/cli/cli/flags" | ||||
| 	"github.com/moby/term" | ||||
| 	"github.com/morikuni/aec" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"github.com/spf13/pflag" | ||||
| @@ -36,6 +37,8 @@ func setupCommonRootCommand(rootCmd *cobra.Command) (*cliflags.ClientOptions, *p | ||||
| 	cobra.AddTemplateFunc("invalidPluginReason", invalidPluginReason) | ||||
| 	cobra.AddTemplateFunc("isPlugin", isPlugin) | ||||
| 	cobra.AddTemplateFunc("isExperimental", isExperimental) | ||||
| 	cobra.AddTemplateFunc("hasAdditionalHelp", hasAdditionalHelp) | ||||
| 	cobra.AddTemplateFunc("additionalHelp", additionalHelp) | ||||
| 	cobra.AddTemplateFunc("decoratedName", decoratedName) | ||||
|  | ||||
| 	rootCmd.SetUsageTemplate(usageTemplate) | ||||
| @@ -47,6 +50,8 @@ func setupCommonRootCommand(rootCmd *cobra.Command) (*cliflags.ClientOptions, *p | ||||
| 	rootCmd.PersistentFlags().MarkShorthandDeprecated("help", "please use --help") | ||||
| 	rootCmd.PersistentFlags().Lookup("help").Hidden = true | ||||
|  | ||||
| 	rootCmd.Annotations = map[string]string{"additionalHelp": "To get more help with docker, check out our guides at https://docs.docker.com/go/guides/"} | ||||
|  | ||||
| 	return opts, flags, helpCommand | ||||
| } | ||||
|  | ||||
| @@ -185,7 +190,6 @@ var helpCommand = &cobra.Command{ | ||||
| 		if cmd == nil || e != nil || len(args) > 0 { | ||||
| 			return errors.Errorf("unknown help topic: %v", strings.Join(args, " ")) | ||||
| 		} | ||||
|  | ||||
| 		helpFunc := cmd.HelpFunc() | ||||
| 		helpFunc(cmd, args) | ||||
| 		return nil | ||||
| @@ -205,6 +209,18 @@ func isExperimental(cmd *cobra.Command) bool { | ||||
| 	return experimental | ||||
| } | ||||
|  | ||||
| func additionalHelp(cmd *cobra.Command) string { | ||||
| 	if additionalHelp, ok := cmd.Annotations["additionalHelp"]; ok { | ||||
| 		style := aec.EmptyBuilder.Bold().ANSI | ||||
| 		return style.Apply(additionalHelp) | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
|  | ||||
| func hasAdditionalHelp(cmd *cobra.Command) bool { | ||||
| 	return additionalHelp(cmd) != "" | ||||
| } | ||||
|  | ||||
| func isPlugin(cmd *cobra.Command) bool { | ||||
| 	return cmd.Annotations[pluginmanager.CommandAnnotationPlugin] == "true" | ||||
| } | ||||
| @@ -360,6 +376,10 @@ Invalid Plugins: | ||||
|  | ||||
| Run '{{.CommandPath}} COMMAND --help' for more information on a command. | ||||
| {{- end}} | ||||
| {{- if hasAdditionalHelp .}} | ||||
|  | ||||
| {{ additionalHelp . }} | ||||
| {{- end}} | ||||
| ` | ||||
|  | ||||
| var helpTemplate = ` | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/docker/cli/cli/command/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/docker/cli/cli/command/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -63,6 +63,9 @@ func RegistryAuthenticationPrivilegedFunc(cli Cli, index *registrytypes.IndexInf | ||||
| 		indexServer := registry.GetAuthConfigKey(index) | ||||
| 		isDefaultRegistry := indexServer == ElectAuthServer(context.Background(), cli) | ||||
| 		authConfig, err := GetDefaultAuthConfig(cli, true, indexServer, isDefaultRegistry) | ||||
| 		if authConfig == nil { | ||||
| 			authConfig = &types.AuthConfig{} | ||||
| 		} | ||||
| 		if err != nil { | ||||
| 			fmt.Fprintf(cli.Err(), "Unable to retrieve stored credentials for %s, error: %s.\n", indexServer, err) | ||||
| 		} | ||||
|   | ||||
							
								
								
									
										1
									
								
								vendor/github.com/docker/cli/cli/command/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/docker/cli/cli/command/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -125,7 +125,6 @@ func PruneFilters(dockerCli Cli, pruneFilters filters.Args) filters.Args { | ||||
| func AddPlatformFlag(flags *pflag.FlagSet, target *string) { | ||||
| 	flags.StringVar(target, "platform", os.Getenv("DOCKER_DEFAULT_PLATFORM"), "Set platform if server is multi-platform capable") | ||||
| 	flags.SetAnnotation("platform", "version", []string{"1.32"}) | ||||
| 	flags.SetAnnotation("platform", "experimental", nil) | ||||
| } | ||||
|  | ||||
| // ValidateOutputPath validates the output paths of the `export` and `save` commands. | ||||
|   | ||||
							
								
								
									
										22
									
								
								vendor/github.com/docker/cli/cli/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/docker/cli/cli/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,15 +26,29 @@ const ( | ||||
| var ( | ||||
| 	initConfigDir sync.Once | ||||
| 	configDir     string | ||||
| 	homeDir       string | ||||
| ) | ||||
|  | ||||
| // resetHomeDir is used in testing to resets the "homeDir" package variable to | ||||
| // force re-lookup of the home directory between tests. | ||||
| func resetHomeDir() { | ||||
| 	homeDir = "" | ||||
| } | ||||
|  | ||||
| func getHomeDir() string { | ||||
| 	if homeDir == "" { | ||||
| 		homeDir = homedir.Get() | ||||
| 	} | ||||
| 	return homeDir | ||||
| } | ||||
|  | ||||
| func setConfigDir() { | ||||
| 	if configDir != "" { | ||||
| 		return | ||||
| 	} | ||||
| 	configDir = os.Getenv("DOCKER_CONFIG") | ||||
| 	if configDir == "" { | ||||
| 		configDir = filepath.Join(homedir.Get(), configFileDir) | ||||
| 		configDir = filepath.Join(getHomeDir(), configFileDir) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -109,11 +123,7 @@ func Load(configDir string) (*configfile.ConfigFile, error) { | ||||
| 	} | ||||
|  | ||||
| 	// Can't find latest config file so check for the old one | ||||
| 	home, err := os.UserHomeDir() | ||||
| 	if err != nil { | ||||
| 		return configFile, errors.Wrap(err, oldConfigfile) | ||||
| 	} | ||||
| 	filename = filepath.Join(home, oldConfigfile) | ||||
| 	filename = filepath.Join(getHomeDir(), oldConfigfile) | ||||
| 	if file, err := os.Open(filename); err == nil { | ||||
| 		defer file.Close() | ||||
| 		if err := configFile.LegacyLoadFromReader(file); err != nil { | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/docker/cli/cli/config/credentials/default_store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/cli/cli/config/credentials/default_store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| package credentials | ||||
|  | ||||
| import ( | ||||
| 	"os/exec" | ||||
| 	exec "golang.org/x/sys/execabs" | ||||
| ) | ||||
|  | ||||
| // DetectDefaultStore return the default credentials store for the platform if | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/docker/cli/cli/connhelper/commandconn/commandconn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/cli/cli/connhelper/commandconn/commandconn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,7 +20,6 @@ import ( | ||||
| 	"io" | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"runtime" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| @@ -29,6 +28,7 @@ import ( | ||||
|  | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	exec "golang.org/x/sys/execabs" | ||||
| ) | ||||
|  | ||||
| // New returns net.Conn | ||||
|   | ||||
							
								
								
									
										15
									
								
								vendor/github.com/docker/cli/cli/connhelper/connhelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/docker/cli/cli/connhelper/connhelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,6 +22,19 @@ type ConnectionHelper struct { | ||||
| // | ||||
| // ssh://<user>@<host> URL requires Docker 18.09 or later on the remote host. | ||||
| func GetConnectionHelper(daemonURL string) (*ConnectionHelper, error) { | ||||
| 	return getConnectionHelper(daemonURL, nil) | ||||
| } | ||||
|  | ||||
| // GetConnectionHelperWithSSHOpts returns Docker-specific connection helper for | ||||
| // the given URL, and accepts additional options for ssh connections. It returns | ||||
| // nil without error when no helper is registered for the scheme. | ||||
| // | ||||
| // Requires Docker 18.09 or later on the remote host. | ||||
| func GetConnectionHelperWithSSHOpts(daemonURL string, sshFlags []string) (*ConnectionHelper, error) { | ||||
| 	return getConnectionHelper(daemonURL, sshFlags) | ||||
| } | ||||
|  | ||||
| func getConnectionHelper(daemonURL string, sshFlags []string) (*ConnectionHelper, error) { | ||||
| 	u, err := url.Parse(daemonURL) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| @@ -34,7 +47,7 @@ func GetConnectionHelper(daemonURL string) (*ConnectionHelper, error) { | ||||
| 		} | ||||
| 		return &ConnectionHelper{ | ||||
| 			Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) { | ||||
| 				return commandconn.New(ctx, "ssh", sp.Args("docker", "system", "dial-stdio")...) | ||||
| 				return commandconn.New(ctx, "ssh", append(sshFlags, sp.Args("docker", "system", "dial-stdio")...)...) | ||||
| 			}, | ||||
| 			Host: "http://docker", | ||||
| 		}, nil | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/docker/docker-credential-helpers/client/command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/docker/docker-credential-helpers/client/command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,8 @@ import ( | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
|  | ||||
| 	exec "golang.org/x/sys/execabs" | ||||
| ) | ||||
|  | ||||
| // Program is an interface to execute external programs. | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										39
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -39,31 +39,34 @@ func initOptions() { | ||||
|  | ||||
| func archInit() { | ||||
| 	switch runtime.GOOS { | ||||
| 	case "android", "darwin", "ios", "netbsd": | ||||
| 		// Android and iOS don't seem to allow reading these registers. | ||||
| 		// | ||||
| 		// NetBSD: | ||||
| 		// ID_AA64ISAR0_EL1 is a privileged register and cannot be read from EL0. | ||||
| 		// It can be read via sysctl(3). Example for future implementers: | ||||
| 		// https://nxr.netbsd.org/xref/src/usr.sbin/cpuctl/arch/aarch64.c | ||||
| 		// | ||||
| 		// Fake the minimal features expected by | ||||
| 		// TestARM64minimalFeatures. | ||||
| 		ARM64.HasASIMD = true | ||||
| 		ARM64.HasFP = true | ||||
| 	case "linux": | ||||
| 	case "freebsd": | ||||
| 		readARM64Registers() | ||||
| 	case "linux", "netbsd": | ||||
| 		doinit() | ||||
| 	default: | ||||
| 		readARM64Registers() | ||||
| 		// Most platforms don't seem to allow reading these registers. | ||||
| 		// | ||||
| 		// OpenBSD: | ||||
| 		// See https://golang.org/issue/31746 | ||||
| 		setMinimalFeatures() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // setMinimalFeatures fakes the minimal ARM64 features expected by | ||||
| // TestARM64minimalFeatures. | ||||
| func setMinimalFeatures() { | ||||
| 	ARM64.HasASIMD = true | ||||
| 	ARM64.HasFP = true | ||||
| } | ||||
|  | ||||
| func readARM64Registers() { | ||||
| 	Initialized = true | ||||
|  | ||||
| 	// ID_AA64ISAR0_EL1 | ||||
| 	isar0 := getisar0() | ||||
| 	parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) | ||||
| } | ||||
|  | ||||
| func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { | ||||
| 	// ID_AA64ISAR0_EL1 | ||||
| 	switch extractBits(isar0, 4, 7) { | ||||
| 	case 1: | ||||
| 		ARM64.HasAES = true | ||||
| @@ -121,8 +124,6 @@ func readARM64Registers() { | ||||
| 	} | ||||
|  | ||||
| 	// ID_AA64ISAR1_EL1 | ||||
| 	isar1 := getisar1() | ||||
|  | ||||
| 	switch extractBits(isar1, 0, 3) { | ||||
| 	case 1: | ||||
| 		ARM64.HasDCPOP = true | ||||
| @@ -144,8 +145,6 @@ func readARM64Registers() { | ||||
| 	} | ||||
|  | ||||
| 	// ID_AA64PFR0_EL1 | ||||
| 	pfr0 := getpfr0() | ||||
|  | ||||
| 	switch extractBits(pfr0, 16, 19) { | ||||
| 	case 0: | ||||
| 		ARM64.HasFP = true | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package cpu | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package cpu | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build 386 amd64 amd64p32 | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package cpu | ||||
|  | ||||
|   | ||||
							
								
								
									
										121
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										121
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,86 +17,7 @@ const ( | ||||
| 	hwcap_VXE    = 8192 | ||||
| ) | ||||
|  | ||||
| // bitIsSet reports whether the bit at index is set. The bit index | ||||
| // is in big endian order, so bit index 0 is the leftmost bit. | ||||
| func bitIsSet(bits []uint64, index uint) bool { | ||||
| 	return bits[index/64]&((1<<63)>>(index%64)) != 0 | ||||
| } | ||||
|  | ||||
| // function is the code for the named cryptographic function. | ||||
| type function uint8 | ||||
|  | ||||
| const ( | ||||
| 	// KM{,A,C,CTR} function codes | ||||
| 	aes128 function = 18 // AES-128 | ||||
| 	aes192 function = 19 // AES-192 | ||||
| 	aes256 function = 20 // AES-256 | ||||
|  | ||||
| 	// K{I,L}MD function codes | ||||
| 	sha1     function = 1  // SHA-1 | ||||
| 	sha256   function = 2  // SHA-256 | ||||
| 	sha512   function = 3  // SHA-512 | ||||
| 	sha3_224 function = 32 // SHA3-224 | ||||
| 	sha3_256 function = 33 // SHA3-256 | ||||
| 	sha3_384 function = 34 // SHA3-384 | ||||
| 	sha3_512 function = 35 // SHA3-512 | ||||
| 	shake128 function = 36 // SHAKE-128 | ||||
| 	shake256 function = 37 // SHAKE-256 | ||||
|  | ||||
| 	// KLMD function codes | ||||
| 	ghash function = 65 // GHASH | ||||
| ) | ||||
|  | ||||
| // queryResult contains the result of a Query function | ||||
| // call. Bits are numbered in big endian order so the | ||||
| // leftmost bit (the MSB) is at index 0. | ||||
| type queryResult struct { | ||||
| 	bits [2]uint64 | ||||
| } | ||||
|  | ||||
| // Has reports whether the given functions are present. | ||||
| func (q *queryResult) Has(fns ...function) bool { | ||||
| 	if len(fns) == 0 { | ||||
| 		panic("no function codes provided") | ||||
| 	} | ||||
| 	for _, f := range fns { | ||||
| 		if !bitIsSet(q.bits[:], uint(f)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| // facility is a bit index for the named facility. | ||||
| type facility uint8 | ||||
|  | ||||
| const ( | ||||
| 	// cryptography facilities | ||||
| 	msa4 facility = 77  // message-security-assist extension 4 | ||||
| 	msa8 facility = 146 // message-security-assist extension 8 | ||||
| ) | ||||
|  | ||||
| // facilityList contains the result of an STFLE call. | ||||
| // Bits are numbered in big endian order so the | ||||
| // leftmost bit (the MSB) is at index 0. | ||||
| type facilityList struct { | ||||
| 	bits [4]uint64 | ||||
| } | ||||
|  | ||||
| // Has reports whether the given facilities are present. | ||||
| func (s *facilityList) Has(fs ...facility) bool { | ||||
| 	if len(fs) == 0 { | ||||
| 		panic("no facility bits provided") | ||||
| 	} | ||||
| 	for _, f := range fs { | ||||
| 		if !bitIsSet(s.bits[:], uint(f)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func doinit() { | ||||
| func initS390Xbase() { | ||||
| 	// test HWCAP bit vector | ||||
| 	has := func(featureMask uint) bool { | ||||
| 		return hwCap&featureMask == featureMask | ||||
| @@ -116,44 +37,4 @@ func doinit() { | ||||
| 	if S390X.HasVX { | ||||
| 		S390X.HasVXE = has(hwcap_VXE) | ||||
| 	} | ||||
|  | ||||
| 	// We need implementations of stfle, km and so on | ||||
| 	// to detect cryptographic features. | ||||
| 	if !haveAsmFunctions() { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	// optional cryptographic functions | ||||
| 	if S390X.HasMSA { | ||||
| 		aes := []function{aes128, aes192, aes256} | ||||
|  | ||||
| 		// cipher message | ||||
| 		km, kmc := kmQuery(), kmcQuery() | ||||
| 		S390X.HasAES = km.Has(aes...) | ||||
| 		S390X.HasAESCBC = kmc.Has(aes...) | ||||
| 		if S390X.HasSTFLE { | ||||
| 			facilities := stfle() | ||||
| 			if facilities.Has(msa4) { | ||||
| 				kmctr := kmctrQuery() | ||||
| 				S390X.HasAESCTR = kmctr.Has(aes...) | ||||
| 			} | ||||
| 			if facilities.Has(msa8) { | ||||
| 				kma := kmaQuery() | ||||
| 				S390X.HasAESGCM = kma.Has(aes...) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		// compute message digest | ||||
| 		kimd := kimdQuery() // intermediate (no padding) | ||||
| 		klmd := klmdQuery() // last (padding) | ||||
| 		S390X.HasSHA1 = kimd.Has(sha1) && klmd.Has(sha1) | ||||
| 		S390X.HasSHA256 = kimd.Has(sha256) && klmd.Has(sha256) | ||||
| 		S390X.HasSHA512 = kimd.Has(sha512) && klmd.Has(sha512) | ||||
| 		S390X.HasGHASH = kimd.Has(ghash) // KLMD-GHASH does not exist | ||||
| 		sha3 := []function{ | ||||
| 			sha3_224, sha3_256, sha3_384, sha3_512, | ||||
| 			shake128, shake256, | ||||
| 		} | ||||
| 		S390X.HasSHA3 = kimd.Has(sha3...) && klmd.Has(sha3...) | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										173
									
								
								vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,173 @@ | ||||
| // Copyright 2020 The Go 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 cpu | ||||
|  | ||||
| import ( | ||||
| 	"syscall" | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| // Minimal copy of functionality from x/sys/unix so the cpu package can call | ||||
| // sysctl without depending on x/sys/unix. | ||||
|  | ||||
| const ( | ||||
| 	_CTL_QUERY = -2 | ||||
|  | ||||
| 	_SYSCTL_VERS_1 = 0x1000000 | ||||
| ) | ||||
|  | ||||
| var _zero uintptr | ||||
|  | ||||
| func sysctl(mib []int32, 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) | ||||
| 	} | ||||
| 	_, _, errno := syscall.Syscall6( | ||||
| 		syscall.SYS___SYSCTL, | ||||
| 		uintptr(_p0), | ||||
| 		uintptr(len(mib)), | ||||
| 		uintptr(unsafe.Pointer(old)), | ||||
| 		uintptr(unsafe.Pointer(oldlen)), | ||||
| 		uintptr(unsafe.Pointer(new)), | ||||
| 		uintptr(newlen)) | ||||
| 	if errno != 0 { | ||||
| 		return errno | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| type sysctlNode struct { | ||||
| 	Flags          uint32 | ||||
| 	Num            int32 | ||||
| 	Name           [32]int8 | ||||
| 	Ver            uint32 | ||||
| 	__rsvd         uint32 | ||||
| 	Un             [16]byte | ||||
| 	_sysctl_size   [8]byte | ||||
| 	_sysctl_func   [8]byte | ||||
| 	_sysctl_parent [8]byte | ||||
| 	_sysctl_desc   [8]byte | ||||
| } | ||||
|  | ||||
| func sysctlNodes(mib []int32) ([]sysctlNode, 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) ([]int32, 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:]) | ||||
|  | ||||
| 	mib := []int32{} | ||||
| 	// 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, int32(node.Num)) | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 		if len(mib) != partno+1 { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return mib, nil | ||||
| } | ||||
|  | ||||
| // aarch64SysctlCPUID is struct aarch64_sysctl_cpu_id from NetBSD's <aarch64/armreg.h> | ||||
| type aarch64SysctlCPUID struct { | ||||
| 	midr      uint64 /* Main ID Register */ | ||||
| 	revidr    uint64 /* Revision ID Register */ | ||||
| 	mpidr     uint64 /* Multiprocessor Affinity Register */ | ||||
| 	aa64dfr0  uint64 /* A64 Debug Feature Register 0 */ | ||||
| 	aa64dfr1  uint64 /* A64 Debug Feature Register 1 */ | ||||
| 	aa64isar0 uint64 /* A64 Instruction Set Attribute Register 0 */ | ||||
| 	aa64isar1 uint64 /* A64 Instruction Set Attribute Register 1 */ | ||||
| 	aa64mmfr0 uint64 /* A64 Memory Model Feature Register 0 */ | ||||
| 	aa64mmfr1 uint64 /* A64 Memory Model Feature Register 1 */ | ||||
| 	aa64mmfr2 uint64 /* A64 Memory Model Feature Register 2 */ | ||||
| 	aa64pfr0  uint64 /* A64 Processor Feature Register 0 */ | ||||
| 	aa64pfr1  uint64 /* A64 Processor Feature Register 1 */ | ||||
| 	aa64zfr0  uint64 /* A64 SVE Feature ID Register 0 */ | ||||
| 	mvfr0     uint32 /* Media and VFP Feature Register 0 */ | ||||
| 	mvfr1     uint32 /* Media and VFP Feature Register 1 */ | ||||
| 	mvfr2     uint32 /* Media and VFP Feature Register 2 */ | ||||
| 	pad       uint32 | ||||
| 	clidr     uint64 /* Cache Level ID Register */ | ||||
| 	ctr       uint64 /* Cache Type Register */ | ||||
| } | ||||
|  | ||||
| func sysctlCPUID(name string) (*aarch64SysctlCPUID, error) { | ||||
| 	mib, err := nametomib(name) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	out := aarch64SysctlCPUID{} | ||||
| 	n := unsafe.Sizeof(out) | ||||
| 	_, _, errno := syscall.Syscall6( | ||||
| 		syscall.SYS___SYSCTL, | ||||
| 		uintptr(unsafe.Pointer(&mib[0])), | ||||
| 		uintptr(len(mib)), | ||||
| 		uintptr(unsafe.Pointer(&out)), | ||||
| 		uintptr(unsafe.Pointer(&n)), | ||||
| 		uintptr(0), | ||||
| 		uintptr(0)) | ||||
| 	if errno != 0 { | ||||
| 		return nil, errno | ||||
| 	} | ||||
| 	return &out, nil | ||||
| } | ||||
|  | ||||
| func doinit() { | ||||
| 	cpuid, err := sysctlCPUID("machdep.cpu0.cpu_id") | ||||
| 	if err != nil { | ||||
| 		setMinimalFeatures() | ||||
| 		return | ||||
| 	} | ||||
| 	parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) | ||||
|  | ||||
| 	Initialized = true | ||||
| } | ||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,8 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !linux,arm64 | ||||
| // +build !linux,!netbsd | ||||
| // +build arm64 | ||||
|  | ||||
| package cpu | ||||
|  | ||||
|   | ||||
							
								
								
									
										12
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| // Copyright 2020 The Go 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 cpu | ||||
|  | ||||
| func archInit() { | ||||
| 	Initialized = true | ||||
| } | ||||
							
								
								
									
										150
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										150
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,10 +8,10 @@ const cacheLineSize = 256 | ||||
|  | ||||
| func initOptions() { | ||||
| 	options = []option{ | ||||
| 		{Name: "zarch", Feature: &S390X.HasZARCH}, | ||||
| 		{Name: "stfle", Feature: &S390X.HasSTFLE}, | ||||
| 		{Name: "ldisp", Feature: &S390X.HasLDISP}, | ||||
| 		{Name: "eimm", Feature: &S390X.HasEIMM}, | ||||
| 		{Name: "zarch", Feature: &S390X.HasZARCH, Required: true}, | ||||
| 		{Name: "stfle", Feature: &S390X.HasSTFLE, Required: true}, | ||||
| 		{Name: "ldisp", Feature: &S390X.HasLDISP, Required: true}, | ||||
| 		{Name: "eimm", Feature: &S390X.HasEIMM, Required: true}, | ||||
| 		{Name: "dfp", Feature: &S390X.HasDFP}, | ||||
| 		{Name: "etf3eh", Feature: &S390X.HasETF3EH}, | ||||
| 		{Name: "msa", Feature: &S390X.HasMSA}, | ||||
| @@ -28,3 +28,145 @@ func initOptions() { | ||||
| 		{Name: "vxe", Feature: &S390X.HasVXE}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // bitIsSet reports whether the bit at index is set. The bit index | ||||
| // is in big endian order, so bit index 0 is the leftmost bit. | ||||
| func bitIsSet(bits []uint64, index uint) bool { | ||||
| 	return bits[index/64]&((1<<63)>>(index%64)) != 0 | ||||
| } | ||||
|  | ||||
| // facility is a bit index for the named facility. | ||||
| type facility uint8 | ||||
|  | ||||
| const ( | ||||
| 	// mandatory facilities | ||||
| 	zarch  facility = 1  // z architecture mode is active | ||||
| 	stflef facility = 7  // store-facility-list-extended | ||||
| 	ldisp  facility = 18 // long-displacement | ||||
| 	eimm   facility = 21 // extended-immediate | ||||
|  | ||||
| 	// miscellaneous facilities | ||||
| 	dfp    facility = 42 // decimal-floating-point | ||||
| 	etf3eh facility = 30 // extended-translation 3 enhancement | ||||
|  | ||||
| 	// cryptography facilities | ||||
| 	msa  facility = 17  // message-security-assist | ||||
| 	msa3 facility = 76  // message-security-assist extension 3 | ||||
| 	msa4 facility = 77  // message-security-assist extension 4 | ||||
| 	msa5 facility = 57  // message-security-assist extension 5 | ||||
| 	msa8 facility = 146 // message-security-assist extension 8 | ||||
| 	msa9 facility = 155 // message-security-assist extension 9 | ||||
|  | ||||
| 	// vector facilities | ||||
| 	vx   facility = 129 // vector facility | ||||
| 	vxe  facility = 135 // vector-enhancements 1 | ||||
| 	vxe2 facility = 148 // vector-enhancements 2 | ||||
| ) | ||||
|  | ||||
| // facilityList contains the result of an STFLE call. | ||||
| // Bits are numbered in big endian order so the | ||||
| // leftmost bit (the MSB) is at index 0. | ||||
| type facilityList struct { | ||||
| 	bits [4]uint64 | ||||
| } | ||||
|  | ||||
| // Has reports whether the given facilities are present. | ||||
| func (s *facilityList) Has(fs ...facility) bool { | ||||
| 	if len(fs) == 0 { | ||||
| 		panic("no facility bits provided") | ||||
| 	} | ||||
| 	for _, f := range fs { | ||||
| 		if !bitIsSet(s.bits[:], uint(f)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| // function is the code for the named cryptographic function. | ||||
| type function uint8 | ||||
|  | ||||
| const ( | ||||
| 	// KM{,A,C,CTR} function codes | ||||
| 	aes128 function = 18 // AES-128 | ||||
| 	aes192 function = 19 // AES-192 | ||||
| 	aes256 function = 20 // AES-256 | ||||
|  | ||||
| 	// K{I,L}MD function codes | ||||
| 	sha1     function = 1  // SHA-1 | ||||
| 	sha256   function = 2  // SHA-256 | ||||
| 	sha512   function = 3  // SHA-512 | ||||
| 	sha3_224 function = 32 // SHA3-224 | ||||
| 	sha3_256 function = 33 // SHA3-256 | ||||
| 	sha3_384 function = 34 // SHA3-384 | ||||
| 	sha3_512 function = 35 // SHA3-512 | ||||
| 	shake128 function = 36 // SHAKE-128 | ||||
| 	shake256 function = 37 // SHAKE-256 | ||||
|  | ||||
| 	// KLMD function codes | ||||
| 	ghash function = 65 // GHASH | ||||
| ) | ||||
|  | ||||
| // queryResult contains the result of a Query function | ||||
| // call. Bits are numbered in big endian order so the | ||||
| // leftmost bit (the MSB) is at index 0. | ||||
| type queryResult struct { | ||||
| 	bits [2]uint64 | ||||
| } | ||||
|  | ||||
| // Has reports whether the given functions are present. | ||||
| func (q *queryResult) Has(fns ...function) bool { | ||||
| 	if len(fns) == 0 { | ||||
| 		panic("no function codes provided") | ||||
| 	} | ||||
| 	for _, f := range fns { | ||||
| 		if !bitIsSet(q.bits[:], uint(f)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func doinit() { | ||||
| 	initS390Xbase() | ||||
|  | ||||
| 	// We need implementations of stfle, km and so on | ||||
| 	// to detect cryptographic features. | ||||
| 	if !haveAsmFunctions() { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	// optional cryptographic functions | ||||
| 	if S390X.HasMSA { | ||||
| 		aes := []function{aes128, aes192, aes256} | ||||
|  | ||||
| 		// cipher message | ||||
| 		km, kmc := kmQuery(), kmcQuery() | ||||
| 		S390X.HasAES = km.Has(aes...) | ||||
| 		S390X.HasAESCBC = kmc.Has(aes...) | ||||
| 		if S390X.HasSTFLE { | ||||
| 			facilities := stfle() | ||||
| 			if facilities.Has(msa4) { | ||||
| 				kmctr := kmctrQuery() | ||||
| 				S390X.HasAESCTR = kmctr.Has(aes...) | ||||
| 			} | ||||
| 			if facilities.Has(msa8) { | ||||
| 				kma := kmaQuery() | ||||
| 				S390X.HasAESGCM = kma.Has(aes...) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		// compute message digest | ||||
| 		kimd := kimdQuery() // intermediate (no padding) | ||||
| 		klmd := klmdQuery() // last (padding) | ||||
| 		S390X.HasSHA1 = kimd.Has(sha1) && klmd.Has(sha1) | ||||
| 		S390X.HasSHA256 = kimd.Has(sha256) && klmd.Has(sha256) | ||||
| 		S390X.HasSHA512 = kimd.Has(sha512) && klmd.Has(sha512) | ||||
| 		S390X.HasGHASH = kimd.Has(ghash) // KLMD-GHASH does not exist | ||||
| 		sha3 := []function{ | ||||
| 			sha3_224, sha3_256, sha3_384, sha3_512, | ||||
| 			shake128, shake256, | ||||
| 		} | ||||
| 		S390X.HasSHA3 = kimd.Has(sha3...) && klmd.Has(sha3...) | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build 386 amd64 amd64p32 | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/golang.org/x/sys/cpu/cpu_zos.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								vendor/golang.org/x/sys/cpu/cpu_zos.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| // Copyright 2020 The Go 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 cpu | ||||
|  | ||||
| func archInit() { | ||||
| 	doinit() | ||||
| 	Initialized = true | ||||
| } | ||||
							
								
								
									
										25
									
								
								vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| // Copyright 2020 The Go 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 cpu | ||||
|  | ||||
| func initS390Xbase() { | ||||
| 	// get the facilities list | ||||
| 	facilities := stfle() | ||||
|  | ||||
| 	// mandatory | ||||
| 	S390X.HasZARCH = facilities.Has(zarch) | ||||
| 	S390X.HasSTFLE = facilities.Has(stflef) | ||||
| 	S390X.HasLDISP = facilities.Has(ldisp) | ||||
| 	S390X.HasEIMM = facilities.Has(eimm) | ||||
|  | ||||
| 	// optional | ||||
| 	S390X.HasETF3EH = facilities.Has(etf3eh) | ||||
| 	S390X.HasDFP = facilities.Has(dfp) | ||||
| 	S390X.HasMSA = facilities.Has(msa) | ||||
| 	S390X.HasVX = facilities.Has(vx) | ||||
| 	if S390X.HasVX { | ||||
| 		S390X.HasVXE = facilities.Has(vxe) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,7 @@ | ||||
| // (See golang.org/issue/32102) | ||||
|  | ||||
| // +build aix,ppc64 | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package cpu | ||||
|  | ||||
|   | ||||
							
								
								
									
										102
									
								
								vendor/golang.org/x/sys/execabs/execabs.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								vendor/golang.org/x/sys/execabs/execabs.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| // Copyright 2020 The Go 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 execabs is a drop-in replacement for os/exec | ||||
| // that requires PATH lookups to find absolute paths. | ||||
| // That is, execabs.Command("cmd") runs the same PATH lookup | ||||
| // as exec.Command("cmd"), but if the result is a path | ||||
| // which is relative, the Run and Start methods will report | ||||
| // an error instead of running the executable. | ||||
| // | ||||
| // See https://blog.golang.org/path-security for more information | ||||
| // about when it may be necessary or appropriate to use this package. | ||||
| package execabs | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"os/exec" | ||||
| 	"path/filepath" | ||||
| 	"reflect" | ||||
| 	"unsafe" | ||||
| ) | ||||
|  | ||||
| // ErrNotFound is the error resulting if a path search failed to find an executable file. | ||||
| // It is an alias for exec.ErrNotFound. | ||||
| var ErrNotFound = exec.ErrNotFound | ||||
|  | ||||
| // Cmd represents an external command being prepared or run. | ||||
| // It is an alias for exec.Cmd. | ||||
| type Cmd = exec.Cmd | ||||
|  | ||||
| // Error is returned by LookPath when it fails to classify a file as an executable. | ||||
| // It is an alias for exec.Error. | ||||
| type Error = exec.Error | ||||
|  | ||||
| // An ExitError reports an unsuccessful exit by a command. | ||||
| // It is an alias for exec.ExitError. | ||||
| type ExitError = exec.ExitError | ||||
|  | ||||
| func relError(file, path string) error { | ||||
| 	return fmt.Errorf("%s resolves to executable in current directory (.%c%s)", file, filepath.Separator, path) | ||||
| } | ||||
|  | ||||
| // LookPath searches for an executable named file in the directories | ||||
| // named by the PATH environment variable. If file contains a slash, | ||||
| // it is tried directly and the PATH is not consulted. The result will be | ||||
| // an absolute path. | ||||
| // | ||||
| // LookPath differs from exec.LookPath in its handling of PATH lookups, | ||||
| // which are used for file names without slashes. If exec.LookPath's | ||||
| // PATH lookup would have returned an executable from the current directory, | ||||
| // LookPath instead returns an error. | ||||
| func LookPath(file string) (string, error) { | ||||
| 	path, err := exec.LookPath(file) | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	if filepath.Base(file) == file && !filepath.IsAbs(path) { | ||||
| 		return "", relError(file, path) | ||||
| 	} | ||||
| 	return path, nil | ||||
| } | ||||
|  | ||||
| func fixCmd(name string, cmd *exec.Cmd) { | ||||
| 	if filepath.Base(name) == name && !filepath.IsAbs(cmd.Path) { | ||||
| 		// exec.Command was called with a bare binary name and | ||||
| 		// exec.LookPath returned a path which is not absolute. | ||||
| 		// Set cmd.lookPathErr and clear cmd.Path so that it | ||||
| 		// cannot be run. | ||||
| 		lookPathErr := (*error)(unsafe.Pointer(reflect.ValueOf(cmd).Elem().FieldByName("lookPathErr").Addr().Pointer())) | ||||
| 		if *lookPathErr == nil { | ||||
| 			*lookPathErr = relError(name, cmd.Path) | ||||
| 		} | ||||
| 		cmd.Path = "" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // CommandContext is like Command but includes a context. | ||||
| // | ||||
| // The provided context is used to kill the process (by calling os.Process.Kill) | ||||
| // if the context becomes done before the command completes on its own. | ||||
| func CommandContext(ctx context.Context, name string, arg ...string) *exec.Cmd { | ||||
| 	cmd := exec.CommandContext(ctx, name, arg...) | ||||
| 	fixCmd(name, cmd) | ||||
| 	return cmd | ||||
|  | ||||
| } | ||||
|  | ||||
| // Command returns the Cmd struct to execute the named program with the given arguments. | ||||
| // See exec.Command for most details. | ||||
| // | ||||
| // Command differs from exec.Command in its handling of PATH lookups, | ||||
| // which are used when the program name contains no slashes. | ||||
| // If exec.Command would have returned an exec.Cmd configured to run an | ||||
| // executable from the current directory, Command instead | ||||
| // returns an exec.Cmd that will return an error from Start or Run. | ||||
| func Command(name string, arg ...string) *exec.Cmd { | ||||
| 	cmd := exec.Command(name, arg...) | ||||
| 	fixCmd(name, cmd) | ||||
| 	return cmd | ||||
| } | ||||
							
								
								
									
										49
									
								
								vendor/golang.org/x/sys/plan9/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								vendor/golang.org/x/sys/plan9/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -24,16 +24,20 @@ | ||||
| // holds a value of type syscall.ErrorString. | ||||
| package plan9 // import "golang.org/x/sys/plan9" | ||||
|  | ||||
| import "unsafe" | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"strings" | ||||
| 	"unsafe" | ||||
|  | ||||
| 	"golang.org/x/sys/internal/unsafeheader" | ||||
| ) | ||||
|  | ||||
| // 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 | ||||
| 		} | ||||
| 	if strings.IndexByte(s, 0) != -1 { | ||||
| 		return nil, EINVAL | ||||
| 	} | ||||
| 	a := make([]byte, len(s)+1) | ||||
| 	copy(a, s) | ||||
| @@ -51,6 +55,41 @@ func BytePtrFromString(s string) (*byte, error) { | ||||
| 	return &a[0], nil | ||||
| } | ||||
|  | ||||
| // ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any | ||||
| // bytes after the NUL removed. | ||||
| func ByteSliceToString(s []byte) string { | ||||
| 	if i := bytes.IndexByte(s, 0); i != -1 { | ||||
| 		s = s[:i] | ||||
| 	} | ||||
| 	return string(s) | ||||
| } | ||||
|  | ||||
| // BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. | ||||
| // If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated | ||||
| // at a zero byte; if the zero byte is not present, the program may crash. | ||||
| func BytePtrToString(p *byte) string { | ||||
| 	if p == nil { | ||||
| 		return "" | ||||
| 	} | ||||
| 	if *p == 0 { | ||||
| 		return "" | ||||
| 	} | ||||
|  | ||||
| 	// Find NUL terminator. | ||||
| 	n := 0 | ||||
| 	for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { | ||||
| 		ptr = unsafe.Pointer(uintptr(ptr) + 1) | ||||
| 	} | ||||
|  | ||||
| 	var s []byte | ||||
| 	h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) | ||||
| 	h.Data = unsafe.Pointer(p) | ||||
| 	h.Len = n | ||||
| 	h.Cap = n | ||||
|  | ||||
| 	return string(s) | ||||
| } | ||||
|  | ||||
| // Single-word zero for use when we need a valid pointer to 0 bytes. | ||||
| // See mksyscall.pl. | ||||
| var _zero uintptr | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
| // +build arm,darwin | ||||
|  | ||||
| #include "textflag.h" | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_darwin_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
| // +build arm64,darwin | ||||
|  | ||||
| #include "textflag.h" | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build linux | ||||
| // +build arm64 | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build linux | ||||
| // +build mips64 mips64le | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build linux | ||||
| // +build mips mipsle | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build linux | ||||
| // +build ppc64 ppc64le | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build riscv64,!gccgo | ||||
| // +build riscv64,gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_s390x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_linux_s390x.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build s390x | ||||
| // +build linux | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_386.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| #include "textflag.h" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_big.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_big.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // | ||||
| // +build ppc64 s390x mips mips64 | ||||
| // +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_little.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_little.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // | ||||
| // +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64 | ||||
| // +build 386 amd64 amd64p32 alpha arm arm64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,9 +1,9 @@ | ||||
| // +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. | ||||
|  | ||||
| // +build linux,386 linux,arm linux,mips linux,mipsle | ||||
|  | ||||
| package unix | ||||
|  | ||||
| func init() { | ||||
|   | ||||
							
								
								
									
										11
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -59,12 +59,14 @@ includes_Darwin=' | ||||
| #include <stdint.h> | ||||
| #include <sys/attr.h> | ||||
| #include <sys/clonefile.h> | ||||
| #include <sys/kern_control.h> | ||||
| #include <sys/types.h> | ||||
| #include <sys/event.h> | ||||
| #include <sys/ptrace.h> | ||||
| #include <sys/select.h> | ||||
| #include <sys/socket.h> | ||||
| #include <sys/sockio.h> | ||||
| #include <sys/sys_domain.h> | ||||
| #include <sys/sysctl.h> | ||||
| #include <sys/mman.h> | ||||
| #include <sys/mount.h> | ||||
| @@ -202,6 +204,7 @@ struct ltchars { | ||||
| #include <linux/devlink.h> | ||||
| #include <linux/dm-ioctl.h> | ||||
| #include <linux/errqueue.h> | ||||
| #include <linux/ethtool_netlink.h> | ||||
| #include <linux/falloc.h> | ||||
| #include <linux/fanotify.h> | ||||
| #include <linux/filter.h> | ||||
| @@ -223,6 +226,7 @@ struct ltchars { | ||||
| #include <linux/kexec.h> | ||||
| #include <linux/keyctl.h> | ||||
| #include <linux/loop.h> | ||||
| #include <linux/lwtunnel.h> | ||||
| #include <linux/magic.h> | ||||
| #include <linux/memfd.h> | ||||
| #include <linux/module.h> | ||||
| @@ -231,6 +235,7 @@ struct ltchars { | ||||
| #include <linux/net_namespace.h> | ||||
| #include <linux/nsfs.h> | ||||
| #include <linux/perf_event.h> | ||||
| #include <linux/pps.h> | ||||
| #include <linux/ptrace.h> | ||||
| #include <linux/random.h> | ||||
| #include <linux/reboot.h> | ||||
| @@ -373,6 +378,7 @@ includes_SunOS=' | ||||
| #include <sys/socket.h> | ||||
| #include <sys/sockio.h> | ||||
| #include <sys/stat.h> | ||||
| #include <sys/stream.h> | ||||
| #include <sys/mman.h> | ||||
| #include <sys/wait.h> | ||||
| #include <sys/ioctl.h> | ||||
| @@ -497,6 +503,7 @@ ccflags="$@" | ||||
| 		$2 !~ "NLA_TYPE_MASK" && | ||||
| 		$2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && | ||||
| 		$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || | ||||
| 		$2 ~ /^FIORDCHK$/ || | ||||
| 		$2 ~ /^SIOC/ || | ||||
| 		$2 ~ /^TIOC/ || | ||||
| 		$2 ~ /^TCGET/ || | ||||
| @@ -517,6 +524,7 @@ ccflags="$@" | ||||
| 		$2 ~ /^CAP_/ || | ||||
| 		$2 ~ /^CP_/ || | ||||
| 		$2 ~ /^CPUSTATES$/ || | ||||
| 		$2 ~ /^CTLIOCGINFO$/ || | ||||
| 		$2 ~ /^ALG_/ || | ||||
| 		$2 ~ /^FI(CLONE|DEDUPERANGE)/ || | ||||
| 		$2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ || | ||||
| @@ -554,7 +562,10 @@ ccflags="$@" | ||||
| 		$2 ~ /^(HDIO|WIN|SMART)_/ || | ||||
| 		$2 ~ /^CRYPTO_/ || | ||||
| 		$2 ~ /^TIPC_/ || | ||||
| 		$2 !~  "DEVLINK_RELOAD_LIMITS_VALID_MASK" && | ||||
| 		$2 ~ /^DEVLINK_/ || | ||||
| 		$2 ~ /^ETHTOOL_/ || | ||||
| 		$2 ~ /^LWTUNNEL_IP/ || | ||||
| 		$2 !~ "WMESGLEN" && | ||||
| 		$2 ~ /^W[A-Z0-9]+$/ || | ||||
| 		$2 ~/^PPPIOC/ || | ||||
|   | ||||
							
								
								
									
										11
									
								
								vendor/golang.org/x/sys/unix/ptrace_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								vendor/golang.org/x/sys/unix/ptrace_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| // Copyright 2020 The Go 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,!ios | ||||
|  | ||||
| package unix | ||||
|  | ||||
| func ptrace(request int, pid int, addr uintptr, data uintptr) error { | ||||
| 	return ptrace1(request, pid, addr, data) | ||||
| } | ||||
							
								
								
									
										11
									
								
								vendor/golang.org/x/sys/unix/ptrace_ios.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								vendor/golang.org/x/sys/unix/ptrace_ios.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| // Copyright 2020 The Go 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 ios | ||||
|  | ||||
| package unix | ||||
|  | ||||
| func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { | ||||
| 	return ENOTSUP | ||||
| } | ||||
							
								
								
									
										43
									
								
								vendor/golang.org/x/sys/unix/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								vendor/golang.org/x/sys/unix/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -24,7 +24,13 @@ | ||||
| // holds a value of type syscall.Errno. | ||||
| package unix // import "golang.org/x/sys/unix" | ||||
|  | ||||
| import "strings" | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"strings" | ||||
| 	"unsafe" | ||||
|  | ||||
| 	"golang.org/x/sys/internal/unsafeheader" | ||||
| ) | ||||
|  | ||||
| // ByteSliceFromString returns a NUL-terminated slice of bytes | ||||
| // containing the text of s. If s contains a NUL byte at any | ||||
| @@ -49,5 +55,40 @@ func BytePtrFromString(s string) (*byte, error) { | ||||
| 	return &a[0], nil | ||||
| } | ||||
|  | ||||
| // ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any | ||||
| // bytes after the NUL removed. | ||||
| func ByteSliceToString(s []byte) string { | ||||
| 	if i := bytes.IndexByte(s, 0); i != -1 { | ||||
| 		s = s[:i] | ||||
| 	} | ||||
| 	return string(s) | ||||
| } | ||||
|  | ||||
| // BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. | ||||
| // If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated | ||||
| // at a zero byte; if the zero byte is not present, the program may crash. | ||||
| func BytePtrToString(p *byte) string { | ||||
| 	if p == nil { | ||||
| 		return "" | ||||
| 	} | ||||
| 	if *p == 0 { | ||||
| 		return "" | ||||
| 	} | ||||
|  | ||||
| 	// Find NUL terminator. | ||||
| 	n := 0 | ||||
| 	for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { | ||||
| 		ptr = unsafe.Pointer(uintptr(ptr) + 1) | ||||
| 	} | ||||
|  | ||||
| 	var s []byte | ||||
| 	h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) | ||||
| 	h.Data = unsafe.Pointer(p) | ||||
| 	h.Len = n | ||||
| 	h.Cap = n | ||||
|  | ||||
| 	return string(s) | ||||
| } | ||||
|  | ||||
| // Single-word zero for use when we need a valid pointer to 0 bytes. | ||||
| var _zero uintptr | ||||
|   | ||||
							
								
								
									
										16
									
								
								vendor/golang.org/x/sys/unix/syscall_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/golang.org/x/sys/unix/syscall_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -19,6 +19,22 @@ import "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	utimes(path string, times *[2]Timeval) (err error) | ||||
| func Utimes(path string, tv []Timeval) error { | ||||
| 	if len(tv) != 2 { | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -277,7 +277,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 		} | ||||
| 		return sa, nil | ||||
| 	} | ||||
| 	return nil, EAFNOSUPPORT | ||||
| 	return anyToSockaddrGOOS(fd, rsa) | ||||
| } | ||||
|  | ||||
| func Accept(fd int) (nfd int, sa Sockaddr, err error) { | ||||
|   | ||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,7 +26,6 @@ func fdopendir(fd int) (dir uintptr, err error) { | ||||
|  | ||||
| func libc_fdopendir_trampoline() | ||||
|  | ||||
| //go:linkname libc_fdopendir libc_fdopendir | ||||
| //go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" | ||||
|  | ||||
| func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { | ||||
|   | ||||
							
								
								
									
										69
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										69
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,6 +13,7 @@ | ||||
| package unix | ||||
|  | ||||
| import ( | ||||
| 	"runtime" | ||||
| 	"syscall" | ||||
| 	"unsafe" | ||||
| ) | ||||
| @@ -30,10 +31,40 @@ type SockaddrDatalink struct { | ||||
| 	raw    RawSockaddrDatalink | ||||
| } | ||||
|  | ||||
| // SockaddrCtl implements the Sockaddr interface for AF_SYSTEM type sockets. | ||||
| type SockaddrCtl struct { | ||||
| 	ID   uint32 | ||||
| 	Unit uint32 | ||||
| 	raw  RawSockaddrCtl | ||||
| } | ||||
|  | ||||
| func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { | ||||
| 	sa.raw.Sc_len = SizeofSockaddrCtl | ||||
| 	sa.raw.Sc_family = AF_SYSTEM | ||||
| 	sa.raw.Ss_sysaddr = AF_SYS_CONTROL | ||||
| 	sa.raw.Sc_id = sa.ID | ||||
| 	sa.raw.Sc_unit = sa.Unit | ||||
| 	return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil | ||||
| } | ||||
|  | ||||
| func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	switch rsa.Addr.Family { | ||||
| 	case AF_SYSTEM: | ||||
| 		pp := (*RawSockaddrCtl)(unsafe.Pointer(rsa)) | ||||
| 		if pp.Ss_sysaddr == AF_SYS_CONTROL { | ||||
| 			sa := new(SockaddrCtl) | ||||
| 			sa.ID = pp.Sc_id | ||||
| 			sa.Unit = pp.Sc_unit | ||||
| 			return sa, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|  | ||||
| // Some external packages rely on SYS___SYSCTL being defined to implement their | ||||
| // own sysctl wrappers. Provide it here, even though direct syscalls are no | ||||
| // longer supported on darwin. | ||||
| const SYS___SYSCTL = 202 | ||||
| const SYS___SYSCTL = SYS_SYSCTL | ||||
|  | ||||
| // Translate "kern.hostname" to []_C_int{0,1,2,3}. | ||||
| func nametomib(name string) (mib []_C_int, err error) { | ||||
| @@ -88,13 +119,16 @@ type attrList struct { | ||||
| 	Forkattr    uint32 | ||||
| } | ||||
|  | ||||
| //sysnb pipe() (r int, w int, err error) | ||||
| //sysnb pipe(p *[2]int32) (err error) | ||||
|  | ||||
| func Pipe(p []int) (err error) { | ||||
| 	if len(p) != 2 { | ||||
| 		return EINVAL | ||||
| 	} | ||||
| 	p[0], p[1], err = pipe() | ||||
| 	var x [2]int32 | ||||
| 	err = pipe(&x) | ||||
| 	p[0] = int(x[0]) | ||||
| 	p[1] = int(x[1]) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| @@ -257,6 +291,35 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig | ||||
|  | ||||
| //sys	ioctl(fd int, req uint, arg uintptr) (err error) | ||||
|  | ||||
| func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error { | ||||
| 	err := ioctl(fd, CTLIOCGINFO, uintptr(unsafe.Pointer(ctlInfo))) | ||||
| 	runtime.KeepAlive(ctlInfo) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // IfreqMTU is struct ifreq used to get or set a network device's MTU. | ||||
| type IfreqMTU struct { | ||||
| 	Name [IFNAMSIZ]byte | ||||
| 	MTU  int32 | ||||
| } | ||||
|  | ||||
| // IoctlGetIfreqMTU performs the SIOCGIFMTU ioctl operation on fd to get the MTU | ||||
| // of the network device specified by ifname. | ||||
| func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) { | ||||
| 	var ifreq IfreqMTU | ||||
| 	copy(ifreq.Name[:], ifname) | ||||
| 	err := ioctl(fd, SIOCGIFMTU, uintptr(unsafe.Pointer(&ifreq))) | ||||
| 	return &ifreq, err | ||||
| } | ||||
|  | ||||
| // IoctlSetIfreqMTU performs the SIOCSIFMTU ioctl operation on fd to set the MTU | ||||
| // of the network device specified by ifreq.Name. | ||||
| func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { | ||||
| 	err := ioctl(fd, SIOCSIFMTU, uintptr(unsafe.Pointer(ifreq))) | ||||
| 	runtime.KeepAlive(ifreq) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| //sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL | ||||
|  | ||||
| func Uname(uname *Utsname) error { | ||||
|   | ||||
							
								
								
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,11 +6,7 @@ | ||||
|  | ||||
| package unix | ||||
|  | ||||
| import ( | ||||
| 	"syscall" | ||||
| ) | ||||
|  | ||||
| //sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error) | ||||
| import "syscall" | ||||
|  | ||||
| func setTimespec(sec, nsec int64) Timespec { | ||||
| 	return Timespec{Sec: int32(sec), Nsec: int32(nsec)} | ||||
| @@ -49,5 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, | ||||
| //sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 | ||||
| //sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 | ||||
| //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 | ||||
| //sys	ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace | ||||
| //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 | ||||
| //sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 | ||||
|   | ||||
							
								
								
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,11 +6,7 @@ | ||||
|  | ||||
| package unix | ||||
|  | ||||
| import ( | ||||
| 	"syscall" | ||||
| ) | ||||
|  | ||||
| //sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error) | ||||
| import "syscall" | ||||
|  | ||||
| func setTimespec(sec, nsec int64) Timespec { | ||||
| 	return Timespec{Sec: sec, Nsec: nsec} | ||||
| @@ -49,5 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, | ||||
| //sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 | ||||
| //sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 | ||||
| //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 | ||||
| //sys	ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace | ||||
| //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 | ||||
| //sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,11 +4,9 @@ | ||||
|  | ||||
| package unix | ||||
|  | ||||
| import ( | ||||
| 	"syscall" | ||||
| ) | ||||
| import "syscall" | ||||
|  | ||||
| func ptrace(request int, pid int, addr uintptr, data uintptr) error { | ||||
| func ptrace1(request int, pid int, addr uintptr, data uintptr) error { | ||||
| 	return ENOTSUP | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,13 +6,7 @@ | ||||
|  | ||||
| package unix | ||||
|  | ||||
| import ( | ||||
| 	"syscall" | ||||
| ) | ||||
|  | ||||
| func ptrace(request int, pid int, addr uintptr, data uintptr) error { | ||||
| 	return ENOTSUP | ||||
| } | ||||
| import "syscall" | ||||
|  | ||||
| func setTimespec(sec, nsec int64) Timespec { | ||||
| 	return Timespec{Sec: sec, Nsec: nsec} | ||||
| @@ -51,5 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, | ||||
| //sys	Fstatfs(fd int, stat *Statfs_t) (err error) | ||||
| //sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT | ||||
| //sys	Lstat(path string, stat *Stat_t) (err error) | ||||
| //sys	ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace | ||||
| //sys	Stat(path string, stat *Stat_t) (err error) | ||||
| //sys	Statfs(path string, stat *Statfs_t) (err error) | ||||
|   | ||||
							
								
								
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -47,6 +47,10 @@ type SockaddrDatalink struct { | ||||
| 	raw    RawSockaddrDatalink | ||||
| } | ||||
|  | ||||
| func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|  | ||||
| // 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]) | ||||
| @@ -101,6 +105,19 @@ func Pipe(p []int) (err error) { | ||||
| 	return | ||||
| } | ||||
|  | ||||
| //sysnb	pipe2(p *[2]_C_int, flags int) (err error) | ||||
|  | ||||
| func Pipe2(p []int, flags int) 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 err | ||||
| } | ||||
|  | ||||
| //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) | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -54,6 +54,10 @@ type SockaddrDatalink struct { | ||||
| 	raw    RawSockaddrDatalink | ||||
| } | ||||
|  | ||||
| func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|  | ||||
| // 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]) | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/golang.org/x/sys/unix/syscall_illumos.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/golang.org/x/sys/unix/syscall_illumos.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -75,16 +75,3 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| //sysnb	pipe2(p *[2]_C_int, flags int) (err error) | ||||
|  | ||||
| func Pipe2(p []int, flags int) 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 err | ||||
| } | ||||
|   | ||||
							
								
								
									
										87
									
								
								vendor/golang.org/x/sys/unix/syscall_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										87
									
								
								vendor/golang.org/x/sys/unix/syscall_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -641,6 +641,36 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { | ||||
| 	return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil | ||||
| } | ||||
|  | ||||
| // SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939 | ||||
| // protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information | ||||
| // on the purposes of the fields, check the official linux kernel documentation | ||||
| // available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst | ||||
| type SockaddrCANJ1939 struct { | ||||
| 	Ifindex int | ||||
| 	Name    uint64 | ||||
| 	PGN     uint32 | ||||
| 	Addr    uint8 | ||||
| 	raw     RawSockaddrCAN | ||||
| } | ||||
|  | ||||
| func (sa *SockaddrCANJ1939) 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) | ||||
| 	n := (*[8]byte)(unsafe.Pointer(&sa.Name)) | ||||
| 	for i := 0; i < 8; i++ { | ||||
| 		sa.raw.Addr[i] = n[i] | ||||
| 	} | ||||
| 	p := (*[4]byte)(unsafe.Pointer(&sa.PGN)) | ||||
| 	for i := 0; i < 4; i++ { | ||||
| 		sa.raw.Addr[i+8] = p[i] | ||||
| 	} | ||||
| 	sa.raw.Addr[12] = sa.Addr | ||||
| 	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 | ||||
| @@ -952,6 +982,10 @@ func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) { | ||||
| 	return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil | ||||
| } | ||||
|  | ||||
| var socketProtocol = func(fd int) (int, error) { | ||||
| 	return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) | ||||
| } | ||||
|  | ||||
| func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	switch rsa.Addr.Family { | ||||
| 	case AF_NETLINK: | ||||
| @@ -1002,7 +1036,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 		return sa, nil | ||||
|  | ||||
| 	case AF_INET: | ||||
| 		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) | ||||
| 		proto, err := socketProtocol(fd) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| @@ -1028,7 +1062,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 		} | ||||
|  | ||||
| 	case AF_INET6: | ||||
| 		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) | ||||
| 		proto, err := socketProtocol(fd) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| @@ -1063,7 +1097,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 		} | ||||
| 		return sa, nil | ||||
| 	case AF_BLUETOOTH: | ||||
| 		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) | ||||
| 		proto, err := socketProtocol(fd) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| @@ -1150,20 +1184,43 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 		return sa, nil | ||||
|  | ||||
| 	case AF_CAN: | ||||
| 		pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa)) | ||||
| 		sa := &SockaddrCAN{ | ||||
| 			Ifindex: int(pp.Ifindex), | ||||
| 		proto, err := socketProtocol(fd) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) | ||||
| 		for i := 0; i < 4; i++ { | ||||
| 			rx[i] = pp.Addr[i] | ||||
| 		} | ||||
| 		tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) | ||||
| 		for i := 0; i < 4; i++ { | ||||
| 			tx[i] = pp.Addr[i+4] | ||||
| 		} | ||||
| 		return sa, nil | ||||
|  | ||||
| 		pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa)) | ||||
|  | ||||
| 		switch proto { | ||||
| 		case CAN_J1939: | ||||
| 			sa := &SockaddrCANJ1939{ | ||||
| 				Ifindex: int(pp.Ifindex), | ||||
| 			} | ||||
| 			name := (*[8]byte)(unsafe.Pointer(&sa.Name)) | ||||
| 			for i := 0; i < 8; i++ { | ||||
| 				name[i] = pp.Addr[i] | ||||
| 			} | ||||
| 			pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN)) | ||||
| 			for i := 0; i < 4; i++ { | ||||
| 				pgn[i] = pp.Addr[i+8] | ||||
| 			} | ||||
| 			addr := (*[1]byte)(unsafe.Pointer(&sa.Addr)) | ||||
| 			addr[0] = pp.Addr[12] | ||||
| 			return sa, nil | ||||
| 		default: | ||||
| 			sa := &SockaddrCAN{ | ||||
| 				Ifindex: int(pp.Ifindex), | ||||
| 			} | ||||
| 			rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) | ||||
| 			for i := 0; i < 4; i++ { | ||||
| 				rx[i] = pp.Addr[i] | ||||
| 			} | ||||
| 			tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) | ||||
| 			for i := 0; i < 4; i++ { | ||||
| 				tx[i] = pp.Addr[i+4] | ||||
| 			} | ||||
| 			return sa, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,9 +2,6 @@ | ||||
| // 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 | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build amd64,linux | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build linux,!gccgo | ||||
| // +build linux,gc | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build linux,!gccgo,386 | ||||
| // +build linux,gc,386 | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build arm,!gccgo,linux | ||||
| // +build arm,gc,linux | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,6 +31,10 @@ type SockaddrDatalink struct { | ||||
| 	raw    RawSockaddrDatalink | ||||
| } | ||||
|  | ||||
| func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|  | ||||
| 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) { | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,6 +31,10 @@ type SockaddrDatalink struct { | ||||
| 	raw    RawSockaddrDatalink | ||||
| } | ||||
|  | ||||
| func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | ||||
| 	return nil, EAFNOSUPPORT | ||||
| } | ||||
|  | ||||
| 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) { | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -68,6 +68,19 @@ func Pipe(p []int) (err error) { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| //sysnb	pipe2(p *[2]_C_int, flags int) (err error) | ||||
|  | ||||
| func Pipe2(p []int, flags int) 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 err | ||||
| } | ||||
|  | ||||
| func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { | ||||
| 	if sa.Port < 0 || sa.Port > 0xFFFF { | ||||
| 		return nil, 0, EINVAL | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_unix_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_unix_gc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // +build darwin dragonfly freebsd linux netbsd openbsd solaris | ||||
| // +build !gccgo,!ppc64le,!ppc64 | ||||
| // +build gc,!ppc64le,!ppc64 | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| // +build linux | ||||
| // +build ppc64le ppc64 | ||||
| // +build !gccgo | ||||
| // +build gc | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										26
									
								
								vendor/golang.org/x/sys/unix/timestruct.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/golang.org/x/sys/unix/timestruct.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,12 +8,10 @@ package unix | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| // TimespecToNsec converts a Timespec value into a number of | ||||
| // nanoseconds since the Unix epoch. | ||||
| func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } | ||||
| // TimespecToNSec returns the time stored in ts as nanoseconds. | ||||
| func TimespecToNsec(ts Timespec) int64 { return ts.Nano() } | ||||
|  | ||||
| // NsecToTimespec takes a number of nanoseconds since the Unix epoch | ||||
| // and returns the corresponding Timespec value. | ||||
| // NsecToTimespec converts a number of nanoseconds into a Timespec. | ||||
| func NsecToTimespec(nsec int64) Timespec { | ||||
| 	sec := nsec / 1e9 | ||||
| 	nsec = nsec % 1e9 | ||||
| @@ -42,12 +40,10 @@ func TimeToTimespec(t time.Time) (Timespec, error) { | ||||
| 	return ts, nil | ||||
| } | ||||
|  | ||||
| // TimevalToNsec converts a Timeval value into a number of nanoseconds | ||||
| // since the Unix epoch. | ||||
| func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } | ||||
| // TimevalToNsec returns the time stored in tv as nanoseconds. | ||||
| func TimevalToNsec(tv Timeval) int64 { return tv.Nano() } | ||||
|  | ||||
| // NsecToTimeval takes a number of nanoseconds since the Unix epoch | ||||
| // and returns the corresponding Timeval value. | ||||
| // NsecToTimeval converts a number of nanoseconds into a Timeval. | ||||
| func NsecToTimeval(nsec int64) Timeval { | ||||
| 	nsec += 999 // round up to microsecond | ||||
| 	usec := nsec % 1e9 / 1e3 | ||||
| @@ -59,24 +55,22 @@ func NsecToTimeval(nsec int64) Timeval { | ||||
| 	return setTimeval(sec, usec) | ||||
| } | ||||
|  | ||||
| // Unix returns ts as the number of seconds and nanoseconds elapsed since the | ||||
| // Unix epoch. | ||||
| // Unix returns the time stored in ts as seconds plus nanoseconds. | ||||
| func (ts *Timespec) Unix() (sec int64, nsec int64) { | ||||
| 	return int64(ts.Sec), int64(ts.Nsec) | ||||
| } | ||||
|  | ||||
| // Unix returns tv as the number of seconds and nanoseconds elapsed since the | ||||
| // Unix epoch. | ||||
| // Unix returns the time stored in tv as seconds plus nanoseconds. | ||||
| func (tv *Timeval) Unix() (sec int64, nsec int64) { | ||||
| 	return int64(tv.Sec), int64(tv.Usec) * 1000 | ||||
| } | ||||
|  | ||||
| // Nano returns ts as the number of nanoseconds elapsed since the Unix epoch. | ||||
| // Nano returns the time stored in ts as nanoseconds. | ||||
| func (ts *Timespec) Nano() int64 { | ||||
| 	return int64(ts.Sec)*1e9 + int64(ts.Nsec) | ||||
| } | ||||
|  | ||||
| // Nano returns tv as the number of nanoseconds elapsed since the Unix epoch. | ||||
| // Nano returns the time stored in tv as nanoseconds. | ||||
| func (tv *Timeval) Nano() int64 { | ||||
| 	return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -45,6 +45,7 @@ const ( | ||||
| 	AF_SIP                            = 0x18 | ||||
| 	AF_SNA                            = 0xb | ||||
| 	AF_SYSTEM                         = 0x20 | ||||
| 	AF_SYS_CONTROL                    = 0x2 | ||||
| 	AF_UNIX                           = 0x1 | ||||
| 	AF_UNSPEC                         = 0x0 | ||||
| 	AF_UTUN                           = 0x26 | ||||
| @@ -251,6 +252,7 @@ const ( | ||||
| 	CSTOP                             = 0x13 | ||||
| 	CSTOPB                            = 0x400 | ||||
| 	CSUSP                             = 0x1a | ||||
| 	CTLIOCGINFO                       = 0xc0644e03 | ||||
| 	CTL_HW                            = 0x6 | ||||
| 	CTL_KERN                          = 0x1 | ||||
| 	CTL_MAXNAME                       = 0xc | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -45,6 +45,7 @@ const ( | ||||
| 	AF_SIP                            = 0x18 | ||||
| 	AF_SNA                            = 0xb | ||||
| 	AF_SYSTEM                         = 0x20 | ||||
| 	AF_SYS_CONTROL                    = 0x2 | ||||
| 	AF_UNIX                           = 0x1 | ||||
| 	AF_UNSPEC                         = 0x0 | ||||
| 	AF_UTUN                           = 0x26 | ||||
| @@ -251,6 +252,7 @@ const ( | ||||
| 	CSTOP                             = 0x13 | ||||
| 	CSTOPB                            = 0x400 | ||||
| 	CSUSP                             = 0x1a | ||||
| 	CTLIOCGINFO                       = 0xc0644e03 | ||||
| 	CTL_HW                            = 0x6 | ||||
| 	CTL_KERN                          = 0x1 | ||||
| 	CTL_MAXNAME                       = 0xc | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -45,6 +45,7 @@ const ( | ||||
| 	AF_SIP                            = 0x18 | ||||
| 	AF_SNA                            = 0xb | ||||
| 	AF_SYSTEM                         = 0x20 | ||||
| 	AF_SYS_CONTROL                    = 0x2 | ||||
| 	AF_UNIX                           = 0x1 | ||||
| 	AF_UNSPEC                         = 0x0 | ||||
| 	AF_UTUN                           = 0x26 | ||||
| @@ -251,6 +252,7 @@ const ( | ||||
| 	CSTOP                             = 0x13 | ||||
| 	CSTOPB                            = 0x400 | ||||
| 	CSUSP                             = 0x1a | ||||
| 	CTLIOCGINFO                       = 0xc0644e03 | ||||
| 	CTL_HW                            = 0x6 | ||||
| 	CTL_KERN                          = 0x1 | ||||
| 	CTL_MAXNAME                       = 0xc | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -45,6 +45,7 @@ const ( | ||||
| 	AF_SIP                            = 0x18 | ||||
| 	AF_SNA                            = 0xb | ||||
| 	AF_SYSTEM                         = 0x20 | ||||
| 	AF_SYS_CONTROL                    = 0x2 | ||||
| 	AF_UNIX                           = 0x1 | ||||
| 	AF_UNSPEC                         = 0x0 | ||||
| 	AF_UTUN                           = 0x26 | ||||
| @@ -251,6 +252,7 @@ const ( | ||||
| 	CSTOP                             = 0x13 | ||||
| 	CSTOPB                            = 0x400 | ||||
| 	CSUSP                             = 0x1a | ||||
| 	CTLIOCGINFO                       = 0xc0644e03 | ||||
| 	CTL_HW                            = 0x6 | ||||
| 	CTL_KERN                          = 0x1 | ||||
| 	CTL_MAXNAME                       = 0xc | ||||
|   | ||||
							
								
								
									
										149
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										149
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -65,6 +65,7 @@ const ( | ||||
| 	ALG_OP_ENCRYPT                              = 0x1 | ||||
| 	ALG_SET_AEAD_ASSOCLEN                       = 0x4 | ||||
| 	ALG_SET_AEAD_AUTHSIZE                       = 0x5 | ||||
| 	ALG_SET_DRBG_ENTROPY                        = 0x6 | ||||
| 	ALG_SET_IV                                  = 0x2 | ||||
| 	ALG_SET_KEY                                 = 0x1 | ||||
| 	ALG_SET_OP                                  = 0x3 | ||||
| @@ -179,8 +180,10 @@ const ( | ||||
| 	BPF_F_ANY_ALIGNMENT                         = 0x2 | ||||
| 	BPF_F_QUERY_EFFECTIVE                       = 0x1 | ||||
| 	BPF_F_REPLACE                               = 0x4 | ||||
| 	BPF_F_SLEEPABLE                             = 0x10 | ||||
| 	BPF_F_STRICT_ALIGNMENT                      = 0x1 | ||||
| 	BPF_F_TEST_RND_HI32                         = 0x4 | ||||
| 	BPF_F_TEST_RUN_ON_CPU                       = 0x1 | ||||
| 	BPF_F_TEST_STATE_FREQ                       = 0x8 | ||||
| 	BPF_H                                       = 0x8 | ||||
| 	BPF_IMM                                     = 0x0 | ||||
| @@ -219,6 +222,7 @@ const ( | ||||
| 	BPF_NET_OFF                                 = -0x100000 | ||||
| 	BPF_OBJ_NAME_LEN                            = 0x10 | ||||
| 	BPF_OR                                      = 0x40 | ||||
| 	BPF_PSEUDO_BTF_ID                           = 0x3 | ||||
| 	BPF_PSEUDO_CALL                             = 0x1 | ||||
| 	BPF_PSEUDO_MAP_FD                           = 0x1 | ||||
| 	BPF_PSEUDO_MAP_VALUE                        = 0x2 | ||||
| @@ -429,10 +433,13 @@ const ( | ||||
| 	DEBUGFS_MAGIC                               = 0x64626720 | ||||
| 	DEVLINK_CMD_ESWITCH_MODE_GET                = 0x1d | ||||
| 	DEVLINK_CMD_ESWITCH_MODE_SET                = 0x1e | ||||
| 	DEVLINK_FLASH_OVERWRITE_IDENTIFIERS         = 0x2 | ||||
| 	DEVLINK_FLASH_OVERWRITE_SETTINGS            = 0x1 | ||||
| 	DEVLINK_GENL_MCGRP_CONFIG_NAME              = "config" | ||||
| 	DEVLINK_GENL_NAME                           = "devlink" | ||||
| 	DEVLINK_GENL_VERSION                        = 0x1 | ||||
| 	DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX           = 0x14 | ||||
| 	DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS  = 0x3 | ||||
| 	DEVMEM_MAGIC                                = 0x454d444d | ||||
| 	DEVPTS_SUPER_MAGIC                          = 0x1cd1 | ||||
| 	DMA_BUF_MAGIC                               = 0x444d4142 | ||||
| @@ -477,9 +484,9 @@ const ( | ||||
| 	DM_UUID_FLAG                                = 0x4000 | ||||
| 	DM_UUID_LEN                                 = 0x81 | ||||
| 	DM_VERSION                                  = 0xc138fd00 | ||||
| 	DM_VERSION_EXTRA                            = "-ioctl (2020-02-27)" | ||||
| 	DM_VERSION_EXTRA                            = "-ioctl (2020-10-01)" | ||||
| 	DM_VERSION_MAJOR                            = 0x4 | ||||
| 	DM_VERSION_MINOR                            = 0x2a | ||||
| 	DM_VERSION_MINOR                            = 0x2b | ||||
| 	DM_VERSION_PATCHLEVEL                       = 0x0 | ||||
| 	DT_BLK                                      = 0x6 | ||||
| 	DT_CHR                                      = 0x2 | ||||
| @@ -520,6 +527,119 @@ const ( | ||||
| 	EPOLL_CTL_DEL                               = 0x2 | ||||
| 	EPOLL_CTL_MOD                               = 0x3 | ||||
| 	EROFS_SUPER_MAGIC_V1                        = 0xe0f5e1e2 | ||||
| 	ESP_V4_FLOW                                 = 0xa | ||||
| 	ESP_V6_FLOW                                 = 0xc | ||||
| 	ETHER_FLOW                                  = 0x12 | ||||
| 	ETHTOOL_BUSINFO_LEN                         = 0x20 | ||||
| 	ETHTOOL_EROMVERS_LEN                        = 0x20 | ||||
| 	ETHTOOL_FEC_AUTO                            = 0x2 | ||||
| 	ETHTOOL_FEC_BASER                           = 0x10 | ||||
| 	ETHTOOL_FEC_LLRS                            = 0x20 | ||||
| 	ETHTOOL_FEC_NONE                            = 0x1 | ||||
| 	ETHTOOL_FEC_OFF                             = 0x4 | ||||
| 	ETHTOOL_FEC_RS                              = 0x8 | ||||
| 	ETHTOOL_FLAG_ALL                            = 0x7 | ||||
| 	ETHTOOL_FLAG_COMPACT_BITSETS                = 0x1 | ||||
| 	ETHTOOL_FLAG_OMIT_REPLY                     = 0x2 | ||||
| 	ETHTOOL_FLAG_STATS                          = 0x4 | ||||
| 	ETHTOOL_FLASHDEV                            = 0x33 | ||||
| 	ETHTOOL_FLASH_MAX_FILENAME                  = 0x80 | ||||
| 	ETHTOOL_FWVERS_LEN                          = 0x20 | ||||
| 	ETHTOOL_F_COMPAT                            = 0x4 | ||||
| 	ETHTOOL_F_UNSUPPORTED                       = 0x1 | ||||
| 	ETHTOOL_F_WISH                              = 0x2 | ||||
| 	ETHTOOL_GCHANNELS                           = 0x3c | ||||
| 	ETHTOOL_GCOALESCE                           = 0xe | ||||
| 	ETHTOOL_GDRVINFO                            = 0x3 | ||||
| 	ETHTOOL_GEEE                                = 0x44 | ||||
| 	ETHTOOL_GEEPROM                             = 0xb | ||||
| 	ETHTOOL_GENL_NAME                           = "ethtool" | ||||
| 	ETHTOOL_GENL_VERSION                        = 0x1 | ||||
| 	ETHTOOL_GET_DUMP_DATA                       = 0x40 | ||||
| 	ETHTOOL_GET_DUMP_FLAG                       = 0x3f | ||||
| 	ETHTOOL_GET_TS_INFO                         = 0x41 | ||||
| 	ETHTOOL_GFEATURES                           = 0x3a | ||||
| 	ETHTOOL_GFECPARAM                           = 0x50 | ||||
| 	ETHTOOL_GFLAGS                              = 0x25 | ||||
| 	ETHTOOL_GGRO                                = 0x2b | ||||
| 	ETHTOOL_GGSO                                = 0x23 | ||||
| 	ETHTOOL_GLINK                               = 0xa | ||||
| 	ETHTOOL_GLINKSETTINGS                       = 0x4c | ||||
| 	ETHTOOL_GMODULEEEPROM                       = 0x43 | ||||
| 	ETHTOOL_GMODULEINFO                         = 0x42 | ||||
| 	ETHTOOL_GMSGLVL                             = 0x7 | ||||
| 	ETHTOOL_GPAUSEPARAM                         = 0x12 | ||||
| 	ETHTOOL_GPERMADDR                           = 0x20 | ||||
| 	ETHTOOL_GPFLAGS                             = 0x27 | ||||
| 	ETHTOOL_GPHYSTATS                           = 0x4a | ||||
| 	ETHTOOL_GREGS                               = 0x4 | ||||
| 	ETHTOOL_GRINGPARAM                          = 0x10 | ||||
| 	ETHTOOL_GRSSH                               = 0x46 | ||||
| 	ETHTOOL_GRXCLSRLALL                         = 0x30 | ||||
| 	ETHTOOL_GRXCLSRLCNT                         = 0x2e | ||||
| 	ETHTOOL_GRXCLSRULE                          = 0x2f | ||||
| 	ETHTOOL_GRXCSUM                             = 0x14 | ||||
| 	ETHTOOL_GRXFH                               = 0x29 | ||||
| 	ETHTOOL_GRXFHINDIR                          = 0x38 | ||||
| 	ETHTOOL_GRXNTUPLE                           = 0x36 | ||||
| 	ETHTOOL_GRXRINGS                            = 0x2d | ||||
| 	ETHTOOL_GSET                                = 0x1 | ||||
| 	ETHTOOL_GSG                                 = 0x18 | ||||
| 	ETHTOOL_GSSET_INFO                          = 0x37 | ||||
| 	ETHTOOL_GSTATS                              = 0x1d | ||||
| 	ETHTOOL_GSTRINGS                            = 0x1b | ||||
| 	ETHTOOL_GTSO                                = 0x1e | ||||
| 	ETHTOOL_GTUNABLE                            = 0x48 | ||||
| 	ETHTOOL_GTXCSUM                             = 0x16 | ||||
| 	ETHTOOL_GUFO                                = 0x21 | ||||
| 	ETHTOOL_GWOL                                = 0x5 | ||||
| 	ETHTOOL_MCGRP_MONITOR_NAME                  = "monitor" | ||||
| 	ETHTOOL_NWAY_RST                            = 0x9 | ||||
| 	ETHTOOL_PERQUEUE                            = 0x4b | ||||
| 	ETHTOOL_PHYS_ID                             = 0x1c | ||||
| 	ETHTOOL_PHY_EDPD_DFLT_TX_MSECS              = 0xffff | ||||
| 	ETHTOOL_PHY_EDPD_DISABLE                    = 0x0 | ||||
| 	ETHTOOL_PHY_EDPD_NO_TX                      = 0xfffe | ||||
| 	ETHTOOL_PHY_FAST_LINK_DOWN_OFF              = 0xff | ||||
| 	ETHTOOL_PHY_FAST_LINK_DOWN_ON               = 0x0 | ||||
| 	ETHTOOL_PHY_GTUNABLE                        = 0x4e | ||||
| 	ETHTOOL_PHY_STUNABLE                        = 0x4f | ||||
| 	ETHTOOL_RESET                               = 0x34 | ||||
| 	ETHTOOL_RXNTUPLE_ACTION_CLEAR               = -0x2 | ||||
| 	ETHTOOL_RXNTUPLE_ACTION_DROP                = -0x1 | ||||
| 	ETHTOOL_RX_FLOW_SPEC_RING                   = 0xffffffff | ||||
| 	ETHTOOL_RX_FLOW_SPEC_RING_VF                = 0xff00000000 | ||||
| 	ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF            = 0x20 | ||||
| 	ETHTOOL_SCHANNELS                           = 0x3d | ||||
| 	ETHTOOL_SCOALESCE                           = 0xf | ||||
| 	ETHTOOL_SEEE                                = 0x45 | ||||
| 	ETHTOOL_SEEPROM                             = 0xc | ||||
| 	ETHTOOL_SET_DUMP                            = 0x3e | ||||
| 	ETHTOOL_SFEATURES                           = 0x3b | ||||
| 	ETHTOOL_SFECPARAM                           = 0x51 | ||||
| 	ETHTOOL_SFLAGS                              = 0x26 | ||||
| 	ETHTOOL_SGRO                                = 0x2c | ||||
| 	ETHTOOL_SGSO                                = 0x24 | ||||
| 	ETHTOOL_SLINKSETTINGS                       = 0x4d | ||||
| 	ETHTOOL_SMSGLVL                             = 0x8 | ||||
| 	ETHTOOL_SPAUSEPARAM                         = 0x13 | ||||
| 	ETHTOOL_SPFLAGS                             = 0x28 | ||||
| 	ETHTOOL_SRINGPARAM                          = 0x11 | ||||
| 	ETHTOOL_SRSSH                               = 0x47 | ||||
| 	ETHTOOL_SRXCLSRLDEL                         = 0x31 | ||||
| 	ETHTOOL_SRXCLSRLINS                         = 0x32 | ||||
| 	ETHTOOL_SRXCSUM                             = 0x15 | ||||
| 	ETHTOOL_SRXFH                               = 0x2a | ||||
| 	ETHTOOL_SRXFHINDIR                          = 0x39 | ||||
| 	ETHTOOL_SRXNTUPLE                           = 0x35 | ||||
| 	ETHTOOL_SSET                                = 0x2 | ||||
| 	ETHTOOL_SSG                                 = 0x19 | ||||
| 	ETHTOOL_STSO                                = 0x1f | ||||
| 	ETHTOOL_STUNABLE                            = 0x49 | ||||
| 	ETHTOOL_STXCSUM                             = 0x17 | ||||
| 	ETHTOOL_SUFO                                = 0x22 | ||||
| 	ETHTOOL_SWOL                                = 0x6 | ||||
| 	ETHTOOL_TEST                                = 0x1a | ||||
| 	ETH_P_1588                                  = 0x88f7 | ||||
| 	ETH_P_8021AD                                = 0x88a8 | ||||
| 	ETH_P_8021AH                                = 0x88e7 | ||||
| @@ -989,6 +1109,7 @@ const ( | ||||
| 	IPV6_DONTFRAG                               = 0x3e | ||||
| 	IPV6_DROP_MEMBERSHIP                        = 0x15 | ||||
| 	IPV6_DSTOPTS                                = 0x3b | ||||
| 	IPV6_FLOW                                   = 0x11 | ||||
| 	IPV6_FREEBIND                               = 0x4e | ||||
| 	IPV6_HDRINCL                                = 0x24 | ||||
| 	IPV6_HOPLIMIT                               = 0x34 | ||||
| @@ -1038,6 +1159,7 @@ const ( | ||||
| 	IPV6_TRANSPARENT                            = 0x4b | ||||
| 	IPV6_UNICAST_HOPS                           = 0x10 | ||||
| 	IPV6_UNICAST_IF                             = 0x4c | ||||
| 	IPV6_USER_FLOW                              = 0xe | ||||
| 	IPV6_V6ONLY                                 = 0x1a | ||||
| 	IPV6_XFRM_POLICY                            = 0x23 | ||||
| 	IP_ADD_MEMBERSHIP                           = 0x23 | ||||
| @@ -1094,6 +1216,7 @@ const ( | ||||
| 	IP_TTL                                      = 0x2 | ||||
| 	IP_UNBLOCK_SOURCE                           = 0x25 | ||||
| 	IP_UNICAST_IF                               = 0x32 | ||||
| 	IP_USER_FLOW                                = 0xd | ||||
| 	IP_XFRM_POLICY                              = 0x11 | ||||
| 	ISOFS_SUPER_MAGIC                           = 0x9660 | ||||
| 	ISTRIP                                      = 0x20 | ||||
| @@ -1217,6 +1340,12 @@ const ( | ||||
| 	LOOP_SET_STATUS_SETTABLE_FLAGS              = 0xc | ||||
| 	LO_KEY_SIZE                                 = 0x20 | ||||
| 	LO_NAME_SIZE                                = 0x40 | ||||
| 	LWTUNNEL_IP6_MAX                            = 0x8 | ||||
| 	LWTUNNEL_IP_MAX                             = 0x8 | ||||
| 	LWTUNNEL_IP_OPTS_MAX                        = 0x3 | ||||
| 	LWTUNNEL_IP_OPT_ERSPAN_MAX                  = 0x4 | ||||
| 	LWTUNNEL_IP_OPT_GENEVE_MAX                  = 0x3 | ||||
| 	LWTUNNEL_IP_OPT_VXLAN_MAX                   = 0x1 | ||||
| 	MADV_COLD                                   = 0x14 | ||||
| 	MADV_DODUMP                                 = 0x11 | ||||
| 	MADV_DOFORK                                 = 0xb | ||||
| @@ -1325,6 +1454,7 @@ const ( | ||||
| 	MS_NOREMOTELOCK                             = 0x8000000 | ||||
| 	MS_NOSEC                                    = 0x10000000 | ||||
| 	MS_NOSUID                                   = 0x2 | ||||
| 	MS_NOSYMFOLLOW                              = 0x100 | ||||
| 	MS_NOUSER                                   = -0x80000000 | ||||
| 	MS_POSIXACL                                 = 0x10000 | ||||
| 	MS_PRIVATE                                  = 0x40000 | ||||
| @@ -1566,7 +1696,7 @@ const ( | ||||
| 	PERF_MEM_REMOTE_REMOTE                      = 0x1 | ||||
| 	PERF_MEM_REMOTE_SHIFT                       = 0x25 | ||||
| 	PERF_MEM_SNOOPX_FWD                         = 0x1 | ||||
| 	PERF_MEM_SNOOPX_SHIFT                       = 0x25 | ||||
| 	PERF_MEM_SNOOPX_SHIFT                       = 0x26 | ||||
| 	PERF_MEM_SNOOP_HIT                          = 0x4 | ||||
| 	PERF_MEM_SNOOP_HITM                         = 0x10 | ||||
| 	PERF_MEM_SNOOP_MISS                         = 0x8 | ||||
| @@ -1666,6 +1796,13 @@ const ( | ||||
| 	PR_MCE_KILL_SET                             = 0x1 | ||||
| 	PR_MPX_DISABLE_MANAGEMENT                   = 0x2c | ||||
| 	PR_MPX_ENABLE_MANAGEMENT                    = 0x2b | ||||
| 	PR_MTE_TAG_MASK                             = 0x7fff8 | ||||
| 	PR_MTE_TAG_SHIFT                            = 0x3 | ||||
| 	PR_MTE_TCF_ASYNC                            = 0x4 | ||||
| 	PR_MTE_TCF_MASK                             = 0x6 | ||||
| 	PR_MTE_TCF_NONE                             = 0x0 | ||||
| 	PR_MTE_TCF_SHIFT                            = 0x1 | ||||
| 	PR_MTE_TCF_SYNC                             = 0x2 | ||||
| 	PR_PAC_APDAKEY                              = 0x4 | ||||
| 	PR_PAC_APDBKEY                              = 0x8 | ||||
| 	PR_PAC_APGAKEY                              = 0x10 | ||||
| @@ -2200,7 +2337,7 @@ const ( | ||||
| 	STATX_ATTR_APPEND                           = 0x20 | ||||
| 	STATX_ATTR_AUTOMOUNT                        = 0x1000 | ||||
| 	STATX_ATTR_COMPRESSED                       = 0x4 | ||||
| 	STATX_ATTR_DAX                              = 0x2000 | ||||
| 	STATX_ATTR_DAX                              = 0x200000 | ||||
| 	STATX_ATTR_ENCRYPTED                        = 0x800 | ||||
| 	STATX_ATTR_IMMUTABLE                        = 0x10 | ||||
| 	STATX_ATTR_MOUNT_ROOT                       = 0x2000 | ||||
| @@ -2319,6 +2456,8 @@ const ( | ||||
| 	TCP_TX_DELAY                                = 0x25 | ||||
| 	TCP_ULP                                     = 0x1f | ||||
| 	TCP_USER_TIMEOUT                            = 0x12 | ||||
| 	TCP_V4_FLOW                                 = 0x1 | ||||
| 	TCP_V6_FLOW                                 = 0x5 | ||||
| 	TCP_WINDOW_CLAMP                            = 0xa | ||||
| 	TCP_ZEROCOPY_RECEIVE                        = 0x23 | ||||
| 	TFD_TIMER_ABSTIME                           = 0x1 | ||||
| @@ -2384,6 +2523,7 @@ const ( | ||||
| 	TIPC_NODE_STATE                             = 0x0 | ||||
| 	TIPC_OK                                     = 0x0 | ||||
| 	TIPC_PUBLISHED                              = 0x1 | ||||
| 	TIPC_REKEYING_NOW                           = 0xffffffff | ||||
| 	TIPC_RESERVED_TYPES                         = 0x40 | ||||
| 	TIPC_RETDATA                                = 0x2 | ||||
| 	TIPC_SERVICE_ADDR                           = 0x2 | ||||
| @@ -2444,6 +2584,7 @@ const ( | ||||
| 	VM_SOCKETS_INVALID_VERSION                  = 0xffffffff | ||||
| 	VQUIT                                       = 0x1 | ||||
| 	VT0                                         = 0x0 | ||||
| 	WAKE_MAGIC                                  = 0x20 | ||||
| 	WALL                                        = 0x40000000 | ||||
| 	WCLONE                                      = 0x80000000 | ||||
| 	WCONTINUED                                  = 0x8 | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build 386,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build amd64,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build arm,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build arm64,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
| @@ -196,6 +196,8 @@ const ( | ||||
| 	PPPIOCXFERUNIT                   = 0x744e | ||||
| 	PROT_BTI                         = 0x10 | ||||
| 	PR_SET_PTRACER_ANY               = 0xffffffffffffffff | ||||
| 	PTRACE_PEEKMTETAGS               = 0x21 | ||||
| 	PTRACE_POKEMTETAGS               = 0x22 | ||||
| 	PTRACE_SYSEMU                    = 0x1f | ||||
| 	PTRACE_SYSEMU_SINGLESTEP         = 0x20 | ||||
| 	RLIMIT_AS                        = 0x9 | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build mips,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
| // +build mips64,linux | ||||
|  | ||||
| // Code generated by cmd/cgo -godefs; DO NOT EDIT. | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go | ||||
| // cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go | ||||
|  | ||||
| package unix | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Tibor Vass
					Tibor Vass