mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-15 01:57:29 -06:00
Add SQLite support, fix un-thread-safe DB caches, small performance f… (#172)
* Add SQLite support, fix un-thread-safe DB caches, small performance fixes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add SQLite licenses to README Signed-off-by: kim (grufwub) <grufwub@gmail.com> * appease the linter, and fix my dumbass-ery Signed-off-by: kim (grufwub) <grufwub@gmail.com> * make requested changes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add back comment Signed-off-by: kim (grufwub) <grufwub@gmail.com>
This commit is contained in:
parent
53507ac2a3
commit
ed46224573
730 changed files with 2239881 additions and 3669 deletions
27
vendor/golang.org/x/mod/LICENSE
generated
vendored
Normal file
27
vendor/golang.org/x/mod/LICENSE
generated
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
22
vendor/golang.org/x/mod/PATENTS
generated
vendored
Normal file
22
vendor/golang.org/x/mod/PATENTS
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Additional IP Rights Grant (Patents)
|
||||
|
||||
"This implementation" means the copyrightable works distributed by
|
||||
Google as part of the Go project.
|
||||
|
||||
Google hereby grants to You a perpetual, worldwide, non-exclusive,
|
||||
no-charge, royalty-free, irrevocable (except as stated in this section)
|
||||
patent license to make, have made, use, offer to sell, sell, import,
|
||||
transfer and otherwise run, modify and propagate the contents of this
|
||||
implementation of Go, where such license applies only to those patent
|
||||
claims, both currently owned or controlled by Google and acquired in
|
||||
the future, licensable by Google that are necessarily infringed by this
|
||||
implementation of Go. This grant does not include claims that would be
|
||||
infringed only as a consequence of further modification of this
|
||||
implementation. If you or your agent or exclusive licensee institute or
|
||||
order or agree to the institution of patent litigation against any
|
||||
entity (including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that this implementation of Go or any code incorporated within this
|
||||
implementation of Go constitutes direct or contributory patent
|
||||
infringement, or inducement of patent infringement, then any patent
|
||||
rights granted to you under this License for this implementation of Go
|
||||
shall terminate as of the date such litigation is filed.
|
||||
411
vendor/golang.org/x/mod/semver/semver.go
generated
vendored
Normal file
411
vendor/golang.org/x/mod/semver/semver.go
generated
vendored
Normal file
|
|
@ -0,0 +1,411 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package semver implements comparison of semantic version strings.
|
||||
// In this package, semantic version strings must begin with a leading "v",
|
||||
// as in "v1.0.0".
|
||||
//
|
||||
// The general form of a semantic version string accepted by this package is
|
||||
//
|
||||
// vMAJOR[.MINOR[.PATCH[-PRERELEASE][+BUILD]]]
|
||||
//
|
||||
// where square brackets indicate optional parts of the syntax;
|
||||
// MAJOR, MINOR, and PATCH are decimal integers without extra leading zeros;
|
||||
// PRERELEASE and BUILD are each a series of non-empty dot-separated identifiers
|
||||
// using only alphanumeric characters and hyphens; and
|
||||
// all-numeric PRERELEASE identifiers must not have leading zeros.
|
||||
//
|
||||
// This package follows Semantic Versioning 2.0.0 (see semver.org)
|
||||
// with two exceptions. First, it requires the "v" prefix. Second, it recognizes
|
||||
// vMAJOR and vMAJOR.MINOR (with no prerelease or build suffixes)
|
||||
// as shorthands for vMAJOR.0.0 and vMAJOR.MINOR.0.
|
||||
package semver
|
||||
|
||||
import "sort"
|
||||
|
||||
// parsed returns the parsed form of a semantic version string.
|
||||
type parsed struct {
|
||||
major string
|
||||
minor string
|
||||
patch string
|
||||
short string
|
||||
prerelease string
|
||||
build string
|
||||
err string
|
||||
}
|
||||
|
||||
// IsValid reports whether v is a valid semantic version string.
|
||||
func IsValid(v string) bool {
|
||||
_, ok := parse(v)
|
||||
return ok
|
||||
}
|
||||
|
||||
// Canonical returns the canonical formatting of the semantic version v.
|
||||
// It fills in any missing .MINOR or .PATCH and discards build metadata.
|
||||
// Two semantic versions compare equal only if their canonical formattings
|
||||
// are identical strings.
|
||||
// The canonical invalid semantic version is the empty string.
|
||||
func Canonical(v string) string {
|
||||
p, ok := parse(v)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
if p.build != "" {
|
||||
return v[:len(v)-len(p.build)]
|
||||
}
|
||||
if p.short != "" {
|
||||
return v + p.short
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// Major returns the major version prefix of the semantic version v.
|
||||
// For example, Major("v2.1.0") == "v2".
|
||||
// If v is an invalid semantic version string, Major returns the empty string.
|
||||
func Major(v string) string {
|
||||
pv, ok := parse(v)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
return v[:1+len(pv.major)]
|
||||
}
|
||||
|
||||
// MajorMinor returns the major.minor version prefix of the semantic version v.
|
||||
// For example, MajorMinor("v2.1.0") == "v2.1".
|
||||
// If v is an invalid semantic version string, MajorMinor returns the empty string.
|
||||
func MajorMinor(v string) string {
|
||||
pv, ok := parse(v)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
i := 1 + len(pv.major)
|
||||
if j := i + 1 + len(pv.minor); j <= len(v) && v[i] == '.' && v[i+1:j] == pv.minor {
|
||||
return v[:j]
|
||||
}
|
||||
return v[:i] + "." + pv.minor
|
||||
}
|
||||
|
||||
// Prerelease returns the prerelease suffix of the semantic version v.
|
||||
// For example, Prerelease("v2.1.0-pre+meta") == "-pre".
|
||||
// If v is an invalid semantic version string, Prerelease returns the empty string.
|
||||
func Prerelease(v string) string {
|
||||
pv, ok := parse(v)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
return pv.prerelease
|
||||
}
|
||||
|
||||
// Build returns the build suffix of the semantic version v.
|
||||
// For example, Build("v2.1.0+meta") == "+meta".
|
||||
// If v is an invalid semantic version string, Build returns the empty string.
|
||||
func Build(v string) string {
|
||||
pv, ok := parse(v)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
return pv.build
|
||||
}
|
||||
|
||||
// Compare returns an integer comparing two versions according to
|
||||
// semantic version precedence.
|
||||
// The result will be 0 if v == w, -1 if v < w, or +1 if v > w.
|
||||
//
|
||||
// An invalid semantic version string is considered less than a valid one.
|
||||
// All invalid semantic version strings compare equal to each other.
|
||||
func Compare(v, w string) int {
|
||||
pv, ok1 := parse(v)
|
||||
pw, ok2 := parse(w)
|
||||
if !ok1 && !ok2 {
|
||||
return 0
|
||||
}
|
||||
if !ok1 {
|
||||
return -1
|
||||
}
|
||||
if !ok2 {
|
||||
return +1
|
||||
}
|
||||
if c := compareInt(pv.major, pw.major); c != 0 {
|
||||
return c
|
||||
}
|
||||
if c := compareInt(pv.minor, pw.minor); c != 0 {
|
||||
return c
|
||||
}
|
||||
if c := compareInt(pv.patch, pw.patch); c != 0 {
|
||||
return c
|
||||
}
|
||||
return comparePrerelease(pv.prerelease, pw.prerelease)
|
||||
}
|
||||
|
||||
// Max canonicalizes its arguments and then returns the version string
|
||||
// that compares greater.
|
||||
//
|
||||
// Deprecated: use Compare instead. In most cases, returning a canonicalized
|
||||
// version is not expected or desired.
|
||||
func Max(v, w string) string {
|
||||
v = Canonical(v)
|
||||
w = Canonical(w)
|
||||
if Compare(v, w) > 0 {
|
||||
return v
|
||||
}
|
||||
return w
|
||||
}
|
||||
|
||||
// ByVersion implements sort.Interface for sorting semantic version strings.
|
||||
type ByVersion []string
|
||||
|
||||
func (vs ByVersion) Len() int { return len(vs) }
|
||||
func (vs ByVersion) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
|
||||
func (vs ByVersion) Less(i, j int) bool {
|
||||
cmp := Compare(vs[i], vs[j])
|
||||
if cmp != 0 {
|
||||
return cmp < 0
|
||||
}
|
||||
return vs[i] < vs[j]
|
||||
}
|
||||
|
||||
// Sort sorts a list of semantic version strings using ByVersion.
|
||||
func Sort(list []string) {
|
||||
sort.Sort(ByVersion(list))
|
||||
}
|
||||
|
||||
func parse(v string) (p parsed, ok bool) {
|
||||
if v == "" || v[0] != 'v' {
|
||||
p.err = "missing v prefix"
|
||||
return
|
||||
}
|
||||
p.major, v, ok = parseInt(v[1:])
|
||||
if !ok {
|
||||
p.err = "bad major version"
|
||||
return
|
||||
}
|
||||
if v == "" {
|
||||
p.minor = "0"
|
||||
p.patch = "0"
|
||||
p.short = ".0.0"
|
||||
return
|
||||
}
|
||||
if v[0] != '.' {
|
||||
p.err = "bad minor prefix"
|
||||
ok = false
|
||||
return
|
||||
}
|
||||
p.minor, v, ok = parseInt(v[1:])
|
||||
if !ok {
|
||||
p.err = "bad minor version"
|
||||
return
|
||||
}
|
||||
if v == "" {
|
||||
p.patch = "0"
|
||||
p.short = ".0"
|
||||
return
|
||||
}
|
||||
if v[0] != '.' {
|
||||
p.err = "bad patch prefix"
|
||||
ok = false
|
||||
return
|
||||
}
|
||||
p.patch, v, ok = parseInt(v[1:])
|
||||
if !ok {
|
||||
p.err = "bad patch version"
|
||||
return
|
||||
}
|
||||
if len(v) > 0 && v[0] == '-' {
|
||||
p.prerelease, v, ok = parsePrerelease(v)
|
||||
if !ok {
|
||||
p.err = "bad prerelease"
|
||||
return
|
||||
}
|
||||
}
|
||||
if len(v) > 0 && v[0] == '+' {
|
||||
p.build, v, ok = parseBuild(v)
|
||||
if !ok {
|
||||
p.err = "bad build"
|
||||
return
|
||||
}
|
||||
}
|
||||
if v != "" {
|
||||
p.err = "junk on end"
|
||||
ok = false
|
||||
return
|
||||
}
|
||||
ok = true
|
||||
return
|
||||
}
|
||||
|
||||
func parseInt(v string) (t, rest string, ok bool) {
|
||||
if v == "" {
|
||||
return
|
||||
}
|
||||
if v[0] < '0' || '9' < v[0] {
|
||||
return
|
||||
}
|
||||
i := 1
|
||||
for i < len(v) && '0' <= v[i] && v[i] <= '9' {
|
||||
i++
|
||||
}
|
||||
if v[0] == '0' && i != 1 {
|
||||
return
|
||||
}
|
||||
return v[:i], v[i:], true
|
||||
}
|
||||
|
||||
func parsePrerelease(v string) (t, rest string, ok bool) {
|
||||
// "A pre-release version MAY be denoted by appending a hyphen and
|
||||
// a series of dot separated identifiers immediately following the patch version.
|
||||
// Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-].
|
||||
// Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes."
|
||||
if v == "" || v[0] != '-' {
|
||||
return
|
||||
}
|
||||
i := 1
|
||||
start := 1
|
||||
for i < len(v) && v[i] != '+' {
|
||||
if !isIdentChar(v[i]) && v[i] != '.' {
|
||||
return
|
||||
}
|
||||
if v[i] == '.' {
|
||||
if start == i || isBadNum(v[start:i]) {
|
||||
return
|
||||
}
|
||||
start = i + 1
|
||||
}
|
||||
i++
|
||||
}
|
||||
if start == i || isBadNum(v[start:i]) {
|
||||
return
|
||||
}
|
||||
return v[:i], v[i:], true
|
||||
}
|
||||
|
||||
func parseBuild(v string) (t, rest string, ok bool) {
|
||||
if v == "" || v[0] != '+' {
|
||||
return
|
||||
}
|
||||
i := 1
|
||||
start := 1
|
||||
for i < len(v) {
|
||||
if !isIdentChar(v[i]) && v[i] != '.' {
|
||||
return
|
||||
}
|
||||
if v[i] == '.' {
|
||||
if start == i {
|
||||
return
|
||||
}
|
||||
start = i + 1
|
||||
}
|
||||
i++
|
||||
}
|
||||
if start == i {
|
||||
return
|
||||
}
|
||||
return v[:i], v[i:], true
|
||||
}
|
||||
|
||||
func isIdentChar(c byte) bool {
|
||||
return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '-'
|
||||
}
|
||||
|
||||
func isBadNum(v string) bool {
|
||||
i := 0
|
||||
for i < len(v) && '0' <= v[i] && v[i] <= '9' {
|
||||
i++
|
||||
}
|
||||
return i == len(v) && i > 1 && v[0] == '0'
|
||||
}
|
||||
|
||||
func isNum(v string) bool {
|
||||
i := 0
|
||||
for i < len(v) && '0' <= v[i] && v[i] <= '9' {
|
||||
i++
|
||||
}
|
||||
return i == len(v)
|
||||
}
|
||||
|
||||
func compareInt(x, y string) int {
|
||||
if x == y {
|
||||
return 0
|
||||
}
|
||||
if len(x) < len(y) {
|
||||
return -1
|
||||
}
|
||||
if len(x) > len(y) {
|
||||
return +1
|
||||
}
|
||||
if x < y {
|
||||
return -1
|
||||
} else {
|
||||
return +1
|
||||
}
|
||||
}
|
||||
|
||||
func comparePrerelease(x, y string) int {
|
||||
// "When major, minor, and patch are equal, a pre-release version has
|
||||
// lower precedence than a normal version.
|
||||
// Example: 1.0.0-alpha < 1.0.0.
|
||||
// Precedence for two pre-release versions with the same major, minor,
|
||||
// and patch version MUST be determined by comparing each dot separated
|
||||
// identifier from left to right until a difference is found as follows:
|
||||
// identifiers consisting of only digits are compared numerically and
|
||||
// identifiers with letters or hyphens are compared lexically in ASCII
|
||||
// sort order. Numeric identifiers always have lower precedence than
|
||||
// non-numeric identifiers. A larger set of pre-release fields has a
|
||||
// higher precedence than a smaller set, if all of the preceding
|
||||
// identifiers are equal.
|
||||
// Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta <
|
||||
// 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0."
|
||||
if x == y {
|
||||
return 0
|
||||
}
|
||||
if x == "" {
|
||||
return +1
|
||||
}
|
||||
if y == "" {
|
||||
return -1
|
||||
}
|
||||
for x != "" && y != "" {
|
||||
x = x[1:] // skip - or .
|
||||
y = y[1:] // skip - or .
|
||||
var dx, dy string
|
||||
dx, x = nextIdent(x)
|
||||
dy, y = nextIdent(y)
|
||||
if dx != dy {
|
||||
ix := isNum(dx)
|
||||
iy := isNum(dy)
|
||||
if ix != iy {
|
||||
if ix {
|
||||
return -1
|
||||
} else {
|
||||
return +1
|
||||
}
|
||||
}
|
||||
if ix {
|
||||
if len(dx) < len(dy) {
|
||||
return -1
|
||||
}
|
||||
if len(dx) > len(dy) {
|
||||
return +1
|
||||
}
|
||||
}
|
||||
if dx < dy {
|
||||
return -1
|
||||
} else {
|
||||
return +1
|
||||
}
|
||||
}
|
||||
}
|
||||
if x == "" {
|
||||
return -1
|
||||
} else {
|
||||
return +1
|
||||
}
|
||||
}
|
||||
|
||||
func nextIdent(x string) (dx, rest string) {
|
||||
i := 0
|
||||
for i < len(x) && x[i] != '.' {
|
||||
i++
|
||||
}
|
||||
return x[:i], x[i:]
|
||||
}
|
||||
1
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
|
|
@ -56,6 +56,7 @@ var X86 struct {
|
|||
HasAVX512BF16 bool // Advanced vector extension 512 BFloat16 Instructions
|
||||
HasBMI1 bool // Bit manipulation instruction set 1
|
||||
HasBMI2 bool // Bit manipulation instruction set 2
|
||||
HasCX16 bool // Compare and exchange 16 Bytes
|
||||
HasERMS bool // Enhanced REP for MOVSB and STOSB
|
||||
HasFMA bool // Fused-multiply-add instructions
|
||||
HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers.
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/cpu/cpu_x86.go
generated
vendored
2
vendor/golang.org/x/sys/cpu/cpu_x86.go
generated
vendored
|
|
@ -39,6 +39,7 @@ func initOptions() {
|
|||
{Name: "avx512bf16", Feature: &X86.HasAVX512BF16},
|
||||
{Name: "bmi1", Feature: &X86.HasBMI1},
|
||||
{Name: "bmi2", Feature: &X86.HasBMI2},
|
||||
{Name: "cx16", Feature: &X86.HasCX16},
|
||||
{Name: "erms", Feature: &X86.HasERMS},
|
||||
{Name: "fma", Feature: &X86.HasFMA},
|
||||
{Name: "osxsave", Feature: &X86.HasOSXSAVE},
|
||||
|
|
@ -73,6 +74,7 @@ func archInit() {
|
|||
X86.HasPCLMULQDQ = isSet(1, ecx1)
|
||||
X86.HasSSSE3 = isSet(9, ecx1)
|
||||
X86.HasFMA = isSet(12, ecx1)
|
||||
X86.HasCX16 = isSet(13, ecx1)
|
||||
X86.HasSSE41 = isSet(19, ecx1)
|
||||
X86.HasSSE42 = isSet(20, ecx1)
|
||||
X86.HasPOPCNT = isSet(23, ecx1)
|
||||
|
|
|
|||
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
|
||||
}
|
||||
149
vendor/golang.org/x/sys/unix/ifreq_linux.go
generated
vendored
Normal file
149
vendor/golang.org/x/sys/unix/ifreq_linux.go
generated
vendored
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
// Copyright 2021 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build linux
|
||||
// +build linux
|
||||
|
||||
package unix
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// Helpers for dealing with ifreq since it contains a union and thus requires a
|
||||
// lot of unsafe.Pointer casts to use properly.
|
||||
|
||||
// An Ifreq is a type-safe wrapper around the raw ifreq struct. An Ifreq
|
||||
// contains an interface name and a union of arbitrary data which can be
|
||||
// accessed using the Ifreq's methods. To create an Ifreq, use the NewIfreq
|
||||
// function.
|
||||
//
|
||||
// Use the Name method to access the stored interface name. The union data
|
||||
// fields can be get and set using the following methods:
|
||||
// - Uint16/SetUint16: flags
|
||||
// - Uint32/SetUint32: ifindex, metric, mtu
|
||||
type Ifreq struct{ raw ifreq }
|
||||
|
||||
// NewIfreq creates an Ifreq with the input network interface name after
|
||||
// validating the name does not exceed IFNAMSIZ-1 (trailing NULL required)
|
||||
// bytes.
|
||||
func NewIfreq(name string) (*Ifreq, error) {
|
||||
// Leave room for terminating NULL byte.
|
||||
if len(name) >= IFNAMSIZ {
|
||||
return nil, EINVAL
|
||||
}
|
||||
|
||||
var ifr ifreq
|
||||
copy(ifr.Ifrn[:], name)
|
||||
|
||||
return &Ifreq{raw: ifr}, nil
|
||||
}
|
||||
|
||||
// TODO(mdlayher): get/set methods for hardware address sockaddr, char array, etc.
|
||||
|
||||
// Name returns the interface name associated with the Ifreq.
|
||||
func (ifr *Ifreq) Name() string {
|
||||
// BytePtrToString requires a NULL terminator or the program may crash. If
|
||||
// one is not present, just return the empty string.
|
||||
if !bytes.Contains(ifr.raw.Ifrn[:], []byte{0x00}) {
|
||||
return ""
|
||||
}
|
||||
|
||||
return BytePtrToString(&ifr.raw.Ifrn[0])
|
||||
}
|
||||
|
||||
// According to netdevice(7), only AF_INET addresses are returned for numerous
|
||||
// sockaddr ioctls. For convenience, we expose these as Inet4Addr since the Port
|
||||
// field and other data is always empty.
|
||||
|
||||
// Inet4Addr returns the Ifreq union data from an embedded sockaddr as a C
|
||||
// in_addr/Go []byte (4-byte IPv4 address) value. If the sockaddr family is not
|
||||
// AF_INET, an error is returned.
|
||||
func (ifr *Ifreq) Inet4Addr() ([]byte, error) {
|
||||
raw := *(*RawSockaddrInet4)(unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0]))
|
||||
if raw.Family != AF_INET {
|
||||
// Cannot safely interpret raw.Addr bytes as an IPv4 address.
|
||||
return nil, EINVAL
|
||||
}
|
||||
|
||||
return raw.Addr[:], nil
|
||||
}
|
||||
|
||||
// SetInet4Addr sets a C in_addr/Go []byte (4-byte IPv4 address) value in an
|
||||
// embedded sockaddr within the Ifreq's union data. v must be 4 bytes in length
|
||||
// or an error will be returned.
|
||||
func (ifr *Ifreq) SetInet4Addr(v []byte) error {
|
||||
if len(v) != 4 {
|
||||
return EINVAL
|
||||
}
|
||||
|
||||
var addr [4]byte
|
||||
copy(addr[:], v)
|
||||
|
||||
ifr.clear()
|
||||
*(*RawSockaddrInet4)(
|
||||
unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0]),
|
||||
) = RawSockaddrInet4{
|
||||
// Always set IP family as ioctls would require it anyway.
|
||||
Family: AF_INET,
|
||||
Addr: addr,
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Uint16 returns the Ifreq union data as a C short/Go uint16 value.
|
||||
func (ifr *Ifreq) Uint16() uint16 {
|
||||
return *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0]))
|
||||
}
|
||||
|
||||
// SetUint16 sets a C short/Go uint16 value as the Ifreq's union data.
|
||||
func (ifr *Ifreq) SetUint16(v uint16) {
|
||||
ifr.clear()
|
||||
*(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) = v
|
||||
}
|
||||
|
||||
// Uint32 returns the Ifreq union data as a C int/Go uint32 value.
|
||||
func (ifr *Ifreq) Uint32() uint32 {
|
||||
return *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0]))
|
||||
}
|
||||
|
||||
// SetUint32 sets a C int/Go uint32 value as the Ifreq's union data.
|
||||
func (ifr *Ifreq) SetUint32(v uint32) {
|
||||
ifr.clear()
|
||||
*(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) = v
|
||||
}
|
||||
|
||||
// clear zeroes the ifreq's union field to prevent trailing garbage data from
|
||||
// being sent to the kernel if an ifreq is reused.
|
||||
func (ifr *Ifreq) clear() {
|
||||
for i := range ifr.raw.Ifru {
|
||||
ifr.raw.Ifru[i] = 0
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(mdlayher): export as IfreqData? For now we can provide helpers such as
|
||||
// IoctlGetEthtoolDrvinfo which use these APIs under the hood.
|
||||
|
||||
// An ifreqData is an Ifreq which carries pointer data. To produce an ifreqData,
|
||||
// use the Ifreq.withData method.
|
||||
type ifreqData struct {
|
||||
name [IFNAMSIZ]byte
|
||||
// A type separate from ifreq is required in order to comply with the
|
||||
// unsafe.Pointer rules since the "pointer-ness" of data would not be
|
||||
// preserved if it were cast into the byte array of a raw ifreq.
|
||||
data unsafe.Pointer
|
||||
// Pad to the same size as ifreq.
|
||||
_ [len(ifreq{}.Ifru) - SizeofPtr]byte
|
||||
}
|
||||
|
||||
// withData produces an ifreqData with the pointer p set for ioctls which require
|
||||
// arbitrary pointer data.
|
||||
func (ifr Ifreq) withData(p unsafe.Pointer) ifreqData {
|
||||
return ifreqData{
|
||||
name: ifr.raw.Ifrn,
|
||||
data: p,
|
||||
}
|
||||
}
|
||||
78
vendor/golang.org/x/sys/unix/ioctl_linux.go
generated
vendored
78
vendor/golang.org/x/sys/unix/ioctl_linux.go
generated
vendored
|
|
@ -5,7 +5,6 @@
|
|||
package unix
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
|
|
@ -22,56 +21,42 @@ func IoctlRetInt(fd int, req uint) (int, error) {
|
|||
|
||||
func IoctlGetUint32(fd int, req uint) (uint32, error) {
|
||||
var value uint32
|
||||
err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
|
||||
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
|
||||
return value, err
|
||||
}
|
||||
|
||||
func IoctlGetRTCTime(fd int) (*RTCTime, error) {
|
||||
var value RTCTime
|
||||
err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value)))
|
||||
err := ioctlPtr(fd, RTC_RD_TIME, unsafe.Pointer(&value))
|
||||
return &value, err
|
||||
}
|
||||
|
||||
func IoctlSetRTCTime(fd int, value *RTCTime) error {
|
||||
err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value)))
|
||||
runtime.KeepAlive(value)
|
||||
return err
|
||||
return ioctlPtr(fd, RTC_SET_TIME, unsafe.Pointer(value))
|
||||
}
|
||||
|
||||
func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) {
|
||||
var value RTCWkAlrm
|
||||
err := ioctl(fd, RTC_WKALM_RD, uintptr(unsafe.Pointer(&value)))
|
||||
err := ioctlPtr(fd, RTC_WKALM_RD, unsafe.Pointer(&value))
|
||||
return &value, err
|
||||
}
|
||||
|
||||
func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error {
|
||||
err := ioctl(fd, RTC_WKALM_SET, uintptr(unsafe.Pointer(value)))
|
||||
runtime.KeepAlive(value)
|
||||
return err
|
||||
}
|
||||
|
||||
type ifreqEthtool struct {
|
||||
name [IFNAMSIZ]byte
|
||||
data unsafe.Pointer
|
||||
return ioctlPtr(fd, RTC_WKALM_SET, unsafe.Pointer(value))
|
||||
}
|
||||
|
||||
// IoctlGetEthtoolDrvinfo fetches ethtool driver information for the network
|
||||
// device specified by ifname.
|
||||
func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) {
|
||||
// Leave room for terminating NULL byte.
|
||||
if len(ifname) >= IFNAMSIZ {
|
||||
return nil, EINVAL
|
||||
ifr, err := NewIfreq(ifname)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
value := EthtoolDrvinfo{
|
||||
Cmd: ETHTOOL_GDRVINFO,
|
||||
}
|
||||
ifreq := ifreqEthtool{
|
||||
data: unsafe.Pointer(&value),
|
||||
}
|
||||
copy(ifreq.name[:], ifname)
|
||||
err := ioctl(fd, SIOCETHTOOL, uintptr(unsafe.Pointer(&ifreq)))
|
||||
runtime.KeepAlive(ifreq)
|
||||
value := EthtoolDrvinfo{Cmd: ETHTOOL_GDRVINFO}
|
||||
ifrd := ifr.withData(unsafe.Pointer(&value))
|
||||
|
||||
err = ioctlIfreqData(fd, SIOCETHTOOL, &ifrd)
|
||||
return &value, err
|
||||
}
|
||||
|
||||
|
|
@ -80,7 +65,7 @@ func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) {
|
|||
// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html.
|
||||
func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) {
|
||||
var value WatchdogInfo
|
||||
err := ioctl(fd, WDIOC_GETSUPPORT, uintptr(unsafe.Pointer(&value)))
|
||||
err := ioctlPtr(fd, WDIOC_GETSUPPORT, unsafe.Pointer(&value))
|
||||
return &value, err
|
||||
}
|
||||
|
||||
|
|
@ -88,6 +73,7 @@ func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) {
|
|||
// more information, see:
|
||||
// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html.
|
||||
func IoctlWatchdogKeepalive(fd int) error {
|
||||
// arg is ignored and not a pointer, so ioctl is fine instead of ioctlPtr.
|
||||
return ioctl(fd, WDIOC_KEEPALIVE, 0)
|
||||
}
|
||||
|
||||
|
|
@ -95,9 +81,7 @@ func IoctlWatchdogKeepalive(fd int) error {
|
|||
// range of data conveyed in value to the file associated with the file
|
||||
// descriptor destFd. See the ioctl_ficlonerange(2) man page for details.
|
||||
func IoctlFileCloneRange(destFd int, value *FileCloneRange) error {
|
||||
err := ioctl(destFd, FICLONERANGE, uintptr(unsafe.Pointer(value)))
|
||||
runtime.KeepAlive(value)
|
||||
return err
|
||||
return ioctlPtr(destFd, FICLONERANGE, unsafe.Pointer(value))
|
||||
}
|
||||
|
||||
// IoctlFileClone performs an FICLONE ioctl operation to clone the entire file
|
||||
|
|
@ -148,7 +132,7 @@ func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error {
|
|||
rawinfo.Reserved = value.Info[i].Reserved
|
||||
}
|
||||
|
||||
err := ioctl(srcFd, FIDEDUPERANGE, uintptr(unsafe.Pointer(&buf[0])))
|
||||
err := ioctlPtr(srcFd, FIDEDUPERANGE, unsafe.Pointer(&buf[0]))
|
||||
|
||||
// Output
|
||||
for i := range value.Info {
|
||||
|
|
@ -166,31 +150,47 @@ func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error {
|
|||
}
|
||||
|
||||
func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error {
|
||||
err := ioctl(fd, HIDIOCGRDESC, uintptr(unsafe.Pointer(value)))
|
||||
runtime.KeepAlive(value)
|
||||
return err
|
||||
return ioctlPtr(fd, HIDIOCGRDESC, unsafe.Pointer(value))
|
||||
}
|
||||
|
||||
func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) {
|
||||
var value HIDRawDevInfo
|
||||
err := ioctl(fd, HIDIOCGRAWINFO, uintptr(unsafe.Pointer(&value)))
|
||||
err := ioctlPtr(fd, HIDIOCGRAWINFO, unsafe.Pointer(&value))
|
||||
return &value, err
|
||||
}
|
||||
|
||||
func IoctlHIDGetRawName(fd int) (string, error) {
|
||||
var value [_HIDIOCGRAWNAME_LEN]byte
|
||||
err := ioctl(fd, _HIDIOCGRAWNAME, uintptr(unsafe.Pointer(&value[0])))
|
||||
err := ioctlPtr(fd, _HIDIOCGRAWNAME, unsafe.Pointer(&value[0]))
|
||||
return ByteSliceToString(value[:]), err
|
||||
}
|
||||
|
||||
func IoctlHIDGetRawPhys(fd int) (string, error) {
|
||||
var value [_HIDIOCGRAWPHYS_LEN]byte
|
||||
err := ioctl(fd, _HIDIOCGRAWPHYS, uintptr(unsafe.Pointer(&value[0])))
|
||||
err := ioctlPtr(fd, _HIDIOCGRAWPHYS, unsafe.Pointer(&value[0]))
|
||||
return ByteSliceToString(value[:]), err
|
||||
}
|
||||
|
||||
func IoctlHIDGetRawUniq(fd int) (string, error) {
|
||||
var value [_HIDIOCGRAWUNIQ_LEN]byte
|
||||
err := ioctl(fd, _HIDIOCGRAWUNIQ, uintptr(unsafe.Pointer(&value[0])))
|
||||
err := ioctlPtr(fd, _HIDIOCGRAWUNIQ, unsafe.Pointer(&value[0]))
|
||||
return ByteSliceToString(value[:]), err
|
||||
}
|
||||
|
||||
// IoctlIfreq performs an ioctl using an Ifreq structure for input and/or
|
||||
// output. See the netdevice(7) man page for details.
|
||||
func IoctlIfreq(fd int, req uint, value *Ifreq) error {
|
||||
// It is possible we will add more fields to *Ifreq itself later to prevent
|
||||
// misuse, so pass the raw *ifreq directly.
|
||||
return ioctlPtr(fd, req, unsafe.Pointer(&value.raw))
|
||||
}
|
||||
|
||||
// TODO(mdlayher): export if and when IfreqData is exported.
|
||||
|
||||
// ioctlIfreqData performs an ioctl using an ifreqData structure for input
|
||||
// and/or output. See the netdevice(7) man page for details.
|
||||
func ioctlIfreqData(fd int, req uint, value *ifreqData) error {
|
||||
// The memory layout of IfreqData (type-safe) and ifreq (not type-safe) are
|
||||
// identical so pass *IfreqData directly.
|
||||
return ioctlPtr(fd, req, unsafe.Pointer(value))
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
4
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
|
|
@ -217,8 +217,6 @@ struct ltchars {
|
|||
#include <linux/genetlink.h>
|
||||
#include <linux/hdreg.h>
|
||||
#include <linux/hidraw.h>
|
||||
#include <linux/icmp.h>
|
||||
#include <linux/icmpv6.h>
|
||||
#include <linux/if.h>
|
||||
#include <linux/if_addr.h>
|
||||
#include <linux/if_alg.h>
|
||||
|
|
@ -502,7 +500,7 @@ ccflags="$@"
|
|||
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
|
||||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
|
||||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
|
||||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
|
||||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT)_/ ||
|
||||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
|
||||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
|
||||
$2 ~ /^RAW_PAYLOAD_/ ||
|
||||
|
|
|
|||
24
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
24
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
|
|
@ -66,11 +66,18 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||
return fchmodat(dirfd, path, mode)
|
||||
}
|
||||
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
|
||||
//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
|
||||
|
||||
// ioctl itself should not be exposed directly, but additional get/set
|
||||
// functions for specific types are permissible.
|
||||
// These are defined in ioctl.go and ioctl_linux.go.
|
||||
// ioctl itself should not be exposed directly, but additional get/set functions
|
||||
// for specific types are permissible. These are defined in ioctl.go and
|
||||
// ioctl_linux.go.
|
||||
//
|
||||
// The third argument to ioctl is often a pointer but sometimes an integer.
|
||||
// Callers should use ioctlPtr when the third argument is a pointer and ioctl
|
||||
// when the third argument is an integer.
|
||||
//
|
||||
// TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr.
|
||||
|
||||
//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
|
||||
|
||||
|
|
@ -1348,6 +1355,13 @@ func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
|
|||
return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
|
||||
}
|
||||
|
||||
func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) {
|
||||
if len(o) == 0 {
|
||||
return EINVAL
|
||||
}
|
||||
return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o)))
|
||||
}
|
||||
|
||||
// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
|
||||
|
||||
// KeyctlInt calls keyctl commands in which each argument is an int.
|
||||
|
|
@ -1859,7 +1873,7 @@ func Getpgrp() (pid int) {
|
|||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
|
||||
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
|
||||
//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
|
||||
//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
|
||||
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
|
||||
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
|
||||
//sys read(fd int, p []byte) (n int, err error)
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/syscall_linux_386.go
generated
vendored
4
vendor/golang.org/x/sys/unix/syscall_linux_386.go
generated
vendored
|
|
@ -105,7 +105,7 @@ const rlimInf32 = ^uint32(0)
|
|||
const rlimInf64 = ^uint64(0)
|
||||
|
||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, nil, rlim)
|
||||
err = Prlimit(0, resource, nil, rlim)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
@ -133,7 +133,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
err = Prlimit(0, resource, rlim, nil)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/syscall_linux_arm.go
generated
vendored
4
vendor/golang.org/x/sys/unix/syscall_linux_arm.go
generated
vendored
|
|
@ -184,7 +184,7 @@ const rlimInf32 = ^uint32(0)
|
|||
const rlimInf64 = ^uint64(0)
|
||||
|
||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, nil, rlim)
|
||||
err = Prlimit(0, resource, nil, rlim)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
@ -212,7 +212,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
err = Prlimit(0, resource, rlim, nil)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
generated
vendored
4
vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
generated
vendored
|
|
@ -171,7 +171,7 @@ func Pipe2(p []int, flags int) (err error) {
|
|||
|
||||
// Getrlimit prefers the prlimit64 system call. See issue 38604.
|
||||
func Getrlimit(resource int, rlim *Rlimit) error {
|
||||
err := prlimit(0, resource, nil, rlim)
|
||||
err := Prlimit(0, resource, nil, rlim)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
@ -180,7 +180,7 @@ func Getrlimit(resource int, rlim *Rlimit) error {
|
|||
|
||||
// Setrlimit prefers the prlimit64 system call. See issue 38604.
|
||||
func Setrlimit(resource int, rlim *Rlimit) error {
|
||||
err := prlimit(0, resource, rlim, nil)
|
||||
err := Prlimit(0, resource, rlim, nil)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
generated
vendored
4
vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
generated
vendored
|
|
@ -157,7 +157,7 @@ type rlimit32 struct {
|
|||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
|
||||
|
||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, nil, rlim)
|
||||
err = Prlimit(0, resource, nil, rlim)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
@ -185,7 +185,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
err = Prlimit(0, resource, rlim, nil)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
7
vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
generated
vendored
7
vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
generated
vendored
|
|
@ -3,8 +3,7 @@
|
|||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build linux && ppc
|
||||
// +build linux
|
||||
// +build ppc
|
||||
// +build linux,ppc
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -143,7 +142,7 @@ const rlimInf32 = ^uint32(0)
|
|||
const rlimInf64 = ^uint64(0)
|
||||
|
||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, nil, rlim)
|
||||
err = Prlimit(0, resource, nil, rlim)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
@ -171,7 +170,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
err = Prlimit(0, resource, rlim, nil)
|
||||
if err != ENOSYS {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
240
vendor/golang.org/x/sys/unix/syscall_solaris.go
generated
vendored
240
vendor/golang.org/x/sys/unix/syscall_solaris.go
generated
vendored
|
|
@ -13,7 +13,10 @@
|
|||
package unix
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"runtime"
|
||||
"sync"
|
||||
"syscall"
|
||||
"unsafe"
|
||||
)
|
||||
|
|
@ -744,3 +747,240 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e
|
|||
func Munmap(b []byte) (err error) {
|
||||
return mapper.Munmap(b)
|
||||
}
|
||||
|
||||
// Event Ports
|
||||
|
||||
type fileObjCookie struct {
|
||||
fobj *fileObj
|
||||
cookie interface{}
|
||||
}
|
||||
|
||||
// EventPort provides a safe abstraction on top of Solaris/illumos Event Ports.
|
||||
type EventPort struct {
|
||||
port int
|
||||
mu sync.Mutex
|
||||
fds map[uintptr]interface{}
|
||||
paths map[string]*fileObjCookie
|
||||
}
|
||||
|
||||
// PortEvent is an abstraction of the port_event C struct.
|
||||
// Compare Source against PORT_SOURCE_FILE or PORT_SOURCE_FD
|
||||
// to see if Path or Fd was the event source. The other will be
|
||||
// uninitialized.
|
||||
type PortEvent struct {
|
||||
Cookie interface{}
|
||||
Events int32
|
||||
Fd uintptr
|
||||
Path string
|
||||
Source uint16
|
||||
fobj *fileObj
|
||||
}
|
||||
|
||||
// NewEventPort creates a new EventPort including the
|
||||
// underlying call to port_create(3c).
|
||||
func NewEventPort() (*EventPort, error) {
|
||||
port, err := port_create()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
e := &EventPort{
|
||||
port: port,
|
||||
fds: make(map[uintptr]interface{}),
|
||||
paths: make(map[string]*fileObjCookie),
|
||||
}
|
||||
return e, nil
|
||||
}
|
||||
|
||||
//sys port_create() (n int, err error)
|
||||
//sys port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error)
|
||||
//sys port_dissociate(port int, source int, object uintptr) (n int, err error)
|
||||
//sys port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error)
|
||||
//sys port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error)
|
||||
|
||||
// Close closes the event port.
|
||||
func (e *EventPort) Close() error {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
e.fds = nil
|
||||
e.paths = nil
|
||||
return Close(e.port)
|
||||
}
|
||||
|
||||
// PathIsWatched checks to see if path is associated with this EventPort.
|
||||
func (e *EventPort) PathIsWatched(path string) bool {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
_, found := e.paths[path]
|
||||
return found
|
||||
}
|
||||
|
||||
// FdIsWatched checks to see if fd is associated with this EventPort.
|
||||
func (e *EventPort) FdIsWatched(fd uintptr) bool {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
_, found := e.fds[fd]
|
||||
return found
|
||||
}
|
||||
|
||||
// AssociatePath wraps port_associate(3c) for a filesystem path including
|
||||
// creating the necessary file_obj from the provided stat information.
|
||||
func (e *EventPort) AssociatePath(path string, stat os.FileInfo, events int, cookie interface{}) error {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
if _, found := e.paths[path]; found {
|
||||
return fmt.Errorf("%v is already associated with this Event Port", path)
|
||||
}
|
||||
fobj, err := createFileObj(path, stat)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fCookie := &fileObjCookie{fobj, cookie}
|
||||
_, err = port_associate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(fobj)), events, (*byte)(unsafe.Pointer(&fCookie.cookie)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
e.paths[path] = fCookie
|
||||
return nil
|
||||
}
|
||||
|
||||
// DissociatePath wraps port_dissociate(3c) for a filesystem path.
|
||||
func (e *EventPort) DissociatePath(path string) error {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
f, ok := e.paths[path]
|
||||
if !ok {
|
||||
return fmt.Errorf("%v is not associated with this Event Port", path)
|
||||
}
|
||||
_, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
delete(e.paths, path)
|
||||
return nil
|
||||
}
|
||||
|
||||
// AssociateFd wraps calls to port_associate(3c) on file descriptors.
|
||||
func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interface{}) error {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
if _, found := e.fds[fd]; found {
|
||||
return fmt.Errorf("%v is already associated with this Event Port", fd)
|
||||
}
|
||||
pcookie := &cookie
|
||||
_, err := port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(pcookie)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
e.fds[fd] = pcookie
|
||||
return nil
|
||||
}
|
||||
|
||||
// DissociateFd wraps calls to port_dissociate(3c) on file descriptors.
|
||||
func (e *EventPort) DissociateFd(fd uintptr) error {
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
_, ok := e.fds[fd]
|
||||
if !ok {
|
||||
return fmt.Errorf("%v is not associated with this Event Port", fd)
|
||||
}
|
||||
_, err := port_dissociate(e.port, PORT_SOURCE_FD, fd)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
delete(e.fds, fd)
|
||||
return nil
|
||||
}
|
||||
|
||||
func createFileObj(name string, stat os.FileInfo) (*fileObj, error) {
|
||||
fobj := new(fileObj)
|
||||
bs, err := ByteSliceFromString(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
fobj.Name = (*int8)(unsafe.Pointer(&bs[0]))
|
||||
s := stat.Sys().(*syscall.Stat_t)
|
||||
fobj.Atim.Sec = s.Atim.Sec
|
||||
fobj.Atim.Nsec = s.Atim.Nsec
|
||||
fobj.Mtim.Sec = s.Mtim.Sec
|
||||
fobj.Mtim.Nsec = s.Mtim.Nsec
|
||||
fobj.Ctim.Sec = s.Ctim.Sec
|
||||
fobj.Ctim.Nsec = s.Ctim.Nsec
|
||||
return fobj, nil
|
||||
}
|
||||
|
||||
// GetOne wraps port_get(3c) and returns a single PortEvent.
|
||||
func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) {
|
||||
pe := new(portEvent)
|
||||
_, err := port_get(e.port, pe, t)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
p := new(PortEvent)
|
||||
p.Events = pe.Events
|
||||
p.Source = pe.Source
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
switch pe.Source {
|
||||
case PORT_SOURCE_FD:
|
||||
p.Fd = uintptr(pe.Object)
|
||||
cookie := (*interface{})(unsafe.Pointer(pe.User))
|
||||
p.Cookie = *cookie
|
||||
delete(e.fds, p.Fd)
|
||||
case PORT_SOURCE_FILE:
|
||||
p.fobj = (*fileObj)(unsafe.Pointer(uintptr(pe.Object)))
|
||||
p.Path = BytePtrToString((*byte)(unsafe.Pointer(p.fobj.Name)))
|
||||
cookie := (*interface{})(unsafe.Pointer(pe.User))
|
||||
p.Cookie = *cookie
|
||||
delete(e.paths, p.Path)
|
||||
}
|
||||
return p, nil
|
||||
}
|
||||
|
||||
// Pending wraps port_getn(3c) and returns how many events are pending.
|
||||
func (e *EventPort) Pending() (int, error) {
|
||||
var n uint32 = 0
|
||||
_, err := port_getn(e.port, nil, 0, &n, nil)
|
||||
return int(n), err
|
||||
}
|
||||
|
||||
// Get wraps port_getn(3c) and fills a slice of PortEvent.
|
||||
// It will block until either min events have been received
|
||||
// or the timeout has been exceeded. It will return how many
|
||||
// events were actually received along with any error information.
|
||||
func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (int, error) {
|
||||
if min == 0 {
|
||||
return 0, fmt.Errorf("need to request at least one event or use Pending() instead")
|
||||
}
|
||||
if len(s) < min {
|
||||
return 0, fmt.Errorf("len(s) (%d) is less than min events requested (%d)", len(s), min)
|
||||
}
|
||||
got := uint32(min)
|
||||
max := uint32(len(s))
|
||||
var err error
|
||||
ps := make([]portEvent, max, max)
|
||||
_, err = port_getn(e.port, &ps[0], max, &got, timeout)
|
||||
// got will be trustworthy with ETIME, but not any other error.
|
||||
if err != nil && err != ETIME {
|
||||
return 0, err
|
||||
}
|
||||
e.mu.Lock()
|
||||
defer e.mu.Unlock()
|
||||
for i := 0; i < int(got); i++ {
|
||||
s[i].Events = ps[i].Events
|
||||
s[i].Source = ps[i].Source
|
||||
switch ps[i].Source {
|
||||
case PORT_SOURCE_FD:
|
||||
s[i].Fd = uintptr(ps[i].Object)
|
||||
cookie := (*interface{})(unsafe.Pointer(ps[i].User))
|
||||
s[i].Cookie = *cookie
|
||||
delete(e.fds, s[i].Fd)
|
||||
case PORT_SOURCE_FILE:
|
||||
s[i].fobj = (*fileObj)(unsafe.Pointer(uintptr(ps[i].Object)))
|
||||
s[i].Path = BytePtrToString((*byte)(unsafe.Pointer(s[i].fobj.Name)))
|
||||
cookie := (*interface{})(unsafe.Pointer(ps[i].User))
|
||||
s[i].Cookie = *cookie
|
||||
delete(e.paths, s[i].Path)
|
||||
}
|
||||
}
|
||||
return int(got), err
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/sys/unix/syscall_unix.go
generated
vendored
4
vendor/golang.org/x/sys/unix/syscall_unix.go
generated
vendored
|
|
@ -313,6 +313,10 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func Send(s int, buf []byte, flags int) (err error) {
|
||||
return sendto(s, buf, flags, nil, 0)
|
||||
}
|
||||
|
||||
func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
|
||||
ptr, n, err := to.sockaddr()
|
||||
if err != nil {
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
|
|
@ -1206,6 +1206,7 @@ const (
|
|||
RTF_DONE = 0x40
|
||||
RTF_DYNAMIC = 0x10
|
||||
RTF_GATEWAY = 0x2
|
||||
RTF_GLOBAL = 0x40000000
|
||||
RTF_HOST = 0x4
|
||||
RTF_IFREF = 0x4000000
|
||||
RTF_IFSCOPE = 0x1000000
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
|
|
@ -1206,6 +1206,7 @@ const (
|
|||
RTF_DONE = 0x40
|
||||
RTF_DYNAMIC = 0x10
|
||||
RTF_GATEWAY = 0x2
|
||||
RTF_GLOBAL = 0x40000000
|
||||
RTF_HOST = 0x4
|
||||
RTF_IFREF = 0x4000000
|
||||
RTF_IFSCOPE = 0x1000000
|
||||
|
|
|
|||
42
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
42
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
|
|
@ -228,6 +228,8 @@ const (
|
|||
BPF_OR = 0x40
|
||||
BPF_PSEUDO_BTF_ID = 0x3
|
||||
BPF_PSEUDO_CALL = 0x1
|
||||
BPF_PSEUDO_FUNC = 0x4
|
||||
BPF_PSEUDO_KFUNC_CALL = 0x2
|
||||
BPF_PSEUDO_MAP_FD = 0x1
|
||||
BPF_PSEUDO_MAP_VALUE = 0x2
|
||||
BPF_RET = 0x6
|
||||
|
|
@ -475,6 +477,8 @@ const (
|
|||
DM_LIST_VERSIONS = 0xc138fd0d
|
||||
DM_MAX_TYPE_NAME = 0x10
|
||||
DM_NAME_LEN = 0x80
|
||||
DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID = 0x2
|
||||
DM_NAME_LIST_FLAG_HAS_UUID = 0x1
|
||||
DM_NOFLUSH_FLAG = 0x800
|
||||
DM_PERSISTENT_DEV_FLAG = 0x8
|
||||
DM_QUERY_INACTIVE_TABLE_FLAG = 0x1000
|
||||
|
|
@ -494,9 +498,9 @@ const (
|
|||
DM_UUID_FLAG = 0x4000
|
||||
DM_UUID_LEN = 0x81
|
||||
DM_VERSION = 0xc138fd00
|
||||
DM_VERSION_EXTRA = "-ioctl (2021-02-01)"
|
||||
DM_VERSION_EXTRA = "-ioctl (2021-03-22)"
|
||||
DM_VERSION_MAJOR = 0x4
|
||||
DM_VERSION_MINOR = 0x2c
|
||||
DM_VERSION_MINOR = 0x2d
|
||||
DM_VERSION_PATCHLEVEL = 0x0
|
||||
DT_BLK = 0x6
|
||||
DT_CHR = 0x2
|
||||
|
|
@ -981,12 +985,6 @@ const (
|
|||
HPFS_SUPER_MAGIC = 0xf995e849
|
||||
HUGETLBFS_MAGIC = 0x958458f6
|
||||
IBSHIFT = 0x10
|
||||
ICMPV6_FILTER = 0x1
|
||||
ICMPV6_FILTER_BLOCK = 0x1
|
||||
ICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||
ICMPV6_FILTER_PASS = 0x2
|
||||
ICMPV6_FILTER_PASSONLY = 0x4
|
||||
ICMP_FILTER = 0x1
|
||||
ICRNL = 0x100
|
||||
IFA_F_DADFAILED = 0x8
|
||||
IFA_F_DEPRECATED = 0x20
|
||||
|
|
@ -1257,6 +1255,7 @@ const (
|
|||
KEXEC_ARCH_PARISC = 0xf0000
|
||||
KEXEC_ARCH_PPC = 0x140000
|
||||
KEXEC_ARCH_PPC64 = 0x150000
|
||||
KEXEC_ARCH_RISCV = 0xf30000
|
||||
KEXEC_ARCH_S390 = 0x160000
|
||||
KEXEC_ARCH_SH = 0x2a0000
|
||||
KEXEC_ARCH_X86_64 = 0x3e0000
|
||||
|
|
@ -1756,14 +1755,19 @@ const (
|
|||
PERF_ATTR_SIZE_VER4 = 0x68
|
||||
PERF_ATTR_SIZE_VER5 = 0x70
|
||||
PERF_ATTR_SIZE_VER6 = 0x78
|
||||
PERF_ATTR_SIZE_VER7 = 0x80
|
||||
PERF_AUX_FLAG_COLLISION = 0x8
|
||||
PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT = 0x0
|
||||
PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW = 0x100
|
||||
PERF_AUX_FLAG_OVERWRITE = 0x2
|
||||
PERF_AUX_FLAG_PARTIAL = 0x4
|
||||
PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK = 0xff00
|
||||
PERF_AUX_FLAG_TRUNCATED = 0x1
|
||||
PERF_FLAG_FD_CLOEXEC = 0x8
|
||||
PERF_FLAG_FD_NO_GROUP = 0x1
|
||||
PERF_FLAG_FD_OUTPUT = 0x2
|
||||
PERF_FLAG_PID_CGROUP = 0x4
|
||||
PERF_HW_EVENT_MASK = 0xffffffff
|
||||
PERF_MAX_CONTEXTS_PER_STACK = 0x8
|
||||
PERF_MAX_STACK_DEPTH = 0x7f
|
||||
PERF_MEM_BLK_ADDR = 0x4
|
||||
|
|
@ -1822,6 +1826,7 @@ const (
|
|||
PERF_MEM_TLB_OS = 0x40
|
||||
PERF_MEM_TLB_SHIFT = 0x1a
|
||||
PERF_MEM_TLB_WK = 0x20
|
||||
PERF_PMU_TYPE_SHIFT = 0x20
|
||||
PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER = 0x1
|
||||
PERF_RECORD_MISC_COMM_EXEC = 0x2000
|
||||
PERF_RECORD_MISC_CPUMODE_MASK = 0x7
|
||||
|
|
@ -1921,7 +1926,9 @@ const (
|
|||
PR_PAC_APGAKEY = 0x10
|
||||
PR_PAC_APIAKEY = 0x1
|
||||
PR_PAC_APIBKEY = 0x2
|
||||
PR_PAC_GET_ENABLED_KEYS = 0x3d
|
||||
PR_PAC_RESET_KEYS = 0x36
|
||||
PR_PAC_SET_ENABLED_KEYS = 0x3c
|
||||
PR_SET_CHILD_SUBREAPER = 0x24
|
||||
PR_SET_DUMPABLE = 0x4
|
||||
PR_SET_ENDIAN = 0x14
|
||||
|
|
@ -2003,6 +2010,7 @@ const (
|
|||
PTRACE_GETREGSET = 0x4204
|
||||
PTRACE_GETSIGINFO = 0x4202
|
||||
PTRACE_GETSIGMASK = 0x420a
|
||||
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
|
||||
PTRACE_GET_SYSCALL_INFO = 0x420e
|
||||
PTRACE_INTERRUPT = 0x4207
|
||||
PTRACE_KILL = 0x8
|
||||
|
|
@ -2163,6 +2171,7 @@ const (
|
|||
RTM_DELNEIGH = 0x1d
|
||||
RTM_DELNETCONF = 0x51
|
||||
RTM_DELNEXTHOP = 0x69
|
||||
RTM_DELNEXTHOPBUCKET = 0x75
|
||||
RTM_DELNSID = 0x59
|
||||
RTM_DELQDISC = 0x25
|
||||
RTM_DELROUTE = 0x19
|
||||
|
|
@ -2193,6 +2202,7 @@ const (
|
|||
RTM_GETNEIGHTBL = 0x42
|
||||
RTM_GETNETCONF = 0x52
|
||||
RTM_GETNEXTHOP = 0x6a
|
||||
RTM_GETNEXTHOPBUCKET = 0x76
|
||||
RTM_GETNSID = 0x5a
|
||||
RTM_GETQDISC = 0x26
|
||||
RTM_GETROUTE = 0x1a
|
||||
|
|
@ -2201,7 +2211,7 @@ const (
|
|||
RTM_GETTCLASS = 0x2a
|
||||
RTM_GETTFILTER = 0x2e
|
||||
RTM_GETVLAN = 0x72
|
||||
RTM_MAX = 0x73
|
||||
RTM_MAX = 0x77
|
||||
RTM_NEWACTION = 0x30
|
||||
RTM_NEWADDR = 0x14
|
||||
RTM_NEWADDRLABEL = 0x48
|
||||
|
|
@ -2215,6 +2225,7 @@ const (
|
|||
RTM_NEWNEIGHTBL = 0x40
|
||||
RTM_NEWNETCONF = 0x50
|
||||
RTM_NEWNEXTHOP = 0x68
|
||||
RTM_NEWNEXTHOPBUCKET = 0x74
|
||||
RTM_NEWNSID = 0x58
|
||||
RTM_NEWNVLAN = 0x70
|
||||
RTM_NEWPREFIX = 0x34
|
||||
|
|
@ -2224,8 +2235,8 @@ const (
|
|||
RTM_NEWSTATS = 0x5c
|
||||
RTM_NEWTCLASS = 0x28
|
||||
RTM_NEWTFILTER = 0x2c
|
||||
RTM_NR_FAMILIES = 0x19
|
||||
RTM_NR_MSGTYPES = 0x64
|
||||
RTM_NR_FAMILIES = 0x1a
|
||||
RTM_NR_MSGTYPES = 0x68
|
||||
RTM_SETDCB = 0x4f
|
||||
RTM_SETLINK = 0x13
|
||||
RTM_SETNEIGHTBL = 0x43
|
||||
|
|
@ -2253,6 +2264,7 @@ const (
|
|||
RTPROT_MROUTED = 0x11
|
||||
RTPROT_MRT = 0xa
|
||||
RTPROT_NTK = 0xf
|
||||
RTPROT_OPENR = 0x63
|
||||
RTPROT_OSPF = 0xbc
|
||||
RTPROT_RA = 0x9
|
||||
RTPROT_REDIRECT = 0x1
|
||||
|
|
@ -2536,6 +2548,14 @@ const (
|
|||
TCOFLUSH = 0x1
|
||||
TCOOFF = 0x0
|
||||
TCOON = 0x1
|
||||
TCPOPT_EOL = 0x0
|
||||
TCPOPT_MAXSEG = 0x2
|
||||
TCPOPT_NOP = 0x1
|
||||
TCPOPT_SACK = 0x5
|
||||
TCPOPT_SACK_PERMITTED = 0x4
|
||||
TCPOPT_TIMESTAMP = 0x8
|
||||
TCPOPT_TSTAMP_HDR = 0x101080a
|
||||
TCPOPT_WINDOW = 0x3
|
||||
TCP_CC_INFO = 0x1a
|
||||
TCP_CM_INQ = 0x24
|
||||
TCP_CONGESTION = 0xd
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
|
|
@ -147,6 +147,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
|
|
@ -147,6 +147,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
|
|
@ -148,6 +148,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
generated
vendored
|
|
@ -147,6 +147,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x4
|
||||
ONLCR = 0x2
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
|
|
@ -147,6 +147,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x4
|
||||
ONLCR = 0x2
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
|
|
@ -147,6 +147,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x4
|
||||
ONLCR = 0x2
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
|
|
@ -145,6 +145,7 @@ const (
|
|||
NS_GET_USERNS = 0xb701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x400c4d19
|
||||
OTPGETREGIONCOUNT = 0x40044d0e
|
||||
OTPGETREGIONINFO = 0x400c4d0f
|
||||
OTPLOCK = 0x800c4d10
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
|
|
@ -150,6 +150,7 @@ const (
|
|||
NS_GET_USERNS = 0x2000b701
|
||||
OLCUC = 0x2
|
||||
ONLCR = 0x4
|
||||
OTPERASE = 0x800c4d19
|
||||
OTPGETREGIONCOUNT = 0x80044d0e
|
||||
OTPGETREGIONINFO = 0x800c4d0f
|
||||
OTPLOCK = 0x400c4d10
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
generated
vendored
|
|
@ -1020,7 +1020,10 @@ const (
|
|||
RLIMIT_CPU = 0x0
|
||||
RLIMIT_DATA = 0x2
|
||||
RLIMIT_FSIZE = 0x1
|
||||
RLIMIT_MEMLOCK = 0x6
|
||||
RLIMIT_NOFILE = 0x8
|
||||
RLIMIT_NPROC = 0x7
|
||||
RLIMIT_RSS = 0x5
|
||||
RLIMIT_STACK = 0x3
|
||||
RLIM_INFINITY = 0x7fffffffffffffff
|
||||
RTAX_AUTHOR = 0x6
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
generated
vendored
|
|
@ -1020,7 +1020,10 @@ const (
|
|||
RLIMIT_CPU = 0x0
|
||||
RLIMIT_DATA = 0x2
|
||||
RLIMIT_FSIZE = 0x1
|
||||
RLIMIT_MEMLOCK = 0x6
|
||||
RLIMIT_NOFILE = 0x8
|
||||
RLIMIT_NPROC = 0x7
|
||||
RLIMIT_RSS = 0x5
|
||||
RLIMIT_STACK = 0x3
|
||||
RLIM_INFINITY = 0x7fffffffffffffff
|
||||
RTAX_AUTHOR = 0x6
|
||||
|
|
|
|||
12
vendor/golang.org/x/sys/unix/zsyscall_linux.go
generated
vendored
12
vendor/golang.org/x/sys/unix/zsyscall_linux.go
generated
vendored
|
|
@ -48,6 +48,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
|
||||
_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(oldpath)
|
||||
|
|
@ -1201,7 +1211,7 @@ func PivotRoot(newroot string, putold string) (err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
|
||||
func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
|
||||
_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
|
|
|
|||
72
vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
generated
vendored
72
vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
generated
vendored
|
|
@ -141,6 +141,11 @@ import (
|
|||
//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so"
|
||||
//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so"
|
||||
//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so"
|
||||
//go:cgo_import_dynamic libc_port_create port_create "libc.so"
|
||||
//go:cgo_import_dynamic libc_port_associate port_associate "libc.so"
|
||||
//go:cgo_import_dynamic libc_port_dissociate port_dissociate "libc.so"
|
||||
//go:cgo_import_dynamic libc_port_get port_get "libc.so"
|
||||
//go:cgo_import_dynamic libc_port_getn port_getn "libc.so"
|
||||
|
||||
//go:linkname procpipe libc_pipe
|
||||
//go:linkname procpipe2 libc_pipe2
|
||||
|
|
@ -272,6 +277,11 @@ import (
|
|||
//go:linkname procgetpeername libc_getpeername
|
||||
//go:linkname procsetsockopt libc_setsockopt
|
||||
//go:linkname procrecvfrom libc_recvfrom
|
||||
//go:linkname procport_create libc_port_create
|
||||
//go:linkname procport_associate libc_port_associate
|
||||
//go:linkname procport_dissociate libc_port_dissociate
|
||||
//go:linkname procport_get libc_port_get
|
||||
//go:linkname procport_getn libc_port_getn
|
||||
|
||||
var (
|
||||
procpipe,
|
||||
|
|
@ -403,7 +413,12 @@ var (
|
|||
proc__xnet_getsockopt,
|
||||
procgetpeername,
|
||||
procsetsockopt,
|
||||
procrecvfrom syscallFunc
|
||||
procrecvfrom,
|
||||
procport_create,
|
||||
procport_associate,
|
||||
procport_dissociate,
|
||||
procport_get,
|
||||
procport_getn syscallFunc
|
||||
)
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
|
@ -1981,3 +1996,58 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
|
|||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func port_create() (n int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_create)), 0, 0, 0, 0, 0, 0, 0)
|
||||
n = int(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_associate)), 5, uintptr(port), uintptr(source), uintptr(object), uintptr(events), uintptr(unsafe.Pointer(user)), 0)
|
||||
n = int(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func port_dissociate(port int, source int, object uintptr) (n int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_dissociate)), 3, uintptr(port), uintptr(source), uintptr(object), 0, 0, 0)
|
||||
n = int(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_get)), 3, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(unsafe.Pointer(timeout)), 0, 0, 0)
|
||||
n = int(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_getn)), 5, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(max), uintptr(unsafe.Pointer(nget)), uintptr(unsafe.Pointer(timeout)), 0)
|
||||
n = int(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
|
|
@ -439,4 +439,7 @@ const (
|
|||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
711
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
711
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
|
|
@ -7,358 +7,361 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_READ = 0
|
||||
SYS_WRITE = 1
|
||||
SYS_OPEN = 2
|
||||
SYS_CLOSE = 3
|
||||
SYS_STAT = 4
|
||||
SYS_FSTAT = 5
|
||||
SYS_LSTAT = 6
|
||||
SYS_POLL = 7
|
||||
SYS_LSEEK = 8
|
||||
SYS_MMAP = 9
|
||||
SYS_MPROTECT = 10
|
||||
SYS_MUNMAP = 11
|
||||
SYS_BRK = 12
|
||||
SYS_RT_SIGACTION = 13
|
||||
SYS_RT_SIGPROCMASK = 14
|
||||
SYS_RT_SIGRETURN = 15
|
||||
SYS_IOCTL = 16
|
||||
SYS_PREAD64 = 17
|
||||
SYS_PWRITE64 = 18
|
||||
SYS_READV = 19
|
||||
SYS_WRITEV = 20
|
||||
SYS_ACCESS = 21
|
||||
SYS_PIPE = 22
|
||||
SYS_SELECT = 23
|
||||
SYS_SCHED_YIELD = 24
|
||||
SYS_MREMAP = 25
|
||||
SYS_MSYNC = 26
|
||||
SYS_MINCORE = 27
|
||||
SYS_MADVISE = 28
|
||||
SYS_SHMGET = 29
|
||||
SYS_SHMAT = 30
|
||||
SYS_SHMCTL = 31
|
||||
SYS_DUP = 32
|
||||
SYS_DUP2 = 33
|
||||
SYS_PAUSE = 34
|
||||
SYS_NANOSLEEP = 35
|
||||
SYS_GETITIMER = 36
|
||||
SYS_ALARM = 37
|
||||
SYS_SETITIMER = 38
|
||||
SYS_GETPID = 39
|
||||
SYS_SENDFILE = 40
|
||||
SYS_SOCKET = 41
|
||||
SYS_CONNECT = 42
|
||||
SYS_ACCEPT = 43
|
||||
SYS_SENDTO = 44
|
||||
SYS_RECVFROM = 45
|
||||
SYS_SENDMSG = 46
|
||||
SYS_RECVMSG = 47
|
||||
SYS_SHUTDOWN = 48
|
||||
SYS_BIND = 49
|
||||
SYS_LISTEN = 50
|
||||
SYS_GETSOCKNAME = 51
|
||||
SYS_GETPEERNAME = 52
|
||||
SYS_SOCKETPAIR = 53
|
||||
SYS_SETSOCKOPT = 54
|
||||
SYS_GETSOCKOPT = 55
|
||||
SYS_CLONE = 56
|
||||
SYS_FORK = 57
|
||||
SYS_VFORK = 58
|
||||
SYS_EXECVE = 59
|
||||
SYS_EXIT = 60
|
||||
SYS_WAIT4 = 61
|
||||
SYS_KILL = 62
|
||||
SYS_UNAME = 63
|
||||
SYS_SEMGET = 64
|
||||
SYS_SEMOP = 65
|
||||
SYS_SEMCTL = 66
|
||||
SYS_SHMDT = 67
|
||||
SYS_MSGGET = 68
|
||||
SYS_MSGSND = 69
|
||||
SYS_MSGRCV = 70
|
||||
SYS_MSGCTL = 71
|
||||
SYS_FCNTL = 72
|
||||
SYS_FLOCK = 73
|
||||
SYS_FSYNC = 74
|
||||
SYS_FDATASYNC = 75
|
||||
SYS_TRUNCATE = 76
|
||||
SYS_FTRUNCATE = 77
|
||||
SYS_GETDENTS = 78
|
||||
SYS_GETCWD = 79
|
||||
SYS_CHDIR = 80
|
||||
SYS_FCHDIR = 81
|
||||
SYS_RENAME = 82
|
||||
SYS_MKDIR = 83
|
||||
SYS_RMDIR = 84
|
||||
SYS_CREAT = 85
|
||||
SYS_LINK = 86
|
||||
SYS_UNLINK = 87
|
||||
SYS_SYMLINK = 88
|
||||
SYS_READLINK = 89
|
||||
SYS_CHMOD = 90
|
||||
SYS_FCHMOD = 91
|
||||
SYS_CHOWN = 92
|
||||
SYS_FCHOWN = 93
|
||||
SYS_LCHOWN = 94
|
||||
SYS_UMASK = 95
|
||||
SYS_GETTIMEOFDAY = 96
|
||||
SYS_GETRLIMIT = 97
|
||||
SYS_GETRUSAGE = 98
|
||||
SYS_SYSINFO = 99
|
||||
SYS_TIMES = 100
|
||||
SYS_PTRACE = 101
|
||||
SYS_GETUID = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_GETGID = 104
|
||||
SYS_SETUID = 105
|
||||
SYS_SETGID = 106
|
||||
SYS_GETEUID = 107
|
||||
SYS_GETEGID = 108
|
||||
SYS_SETPGID = 109
|
||||
SYS_GETPPID = 110
|
||||
SYS_GETPGRP = 111
|
||||
SYS_SETSID = 112
|
||||
SYS_SETREUID = 113
|
||||
SYS_SETREGID = 114
|
||||
SYS_GETGROUPS = 115
|
||||
SYS_SETGROUPS = 116
|
||||
SYS_SETRESUID = 117
|
||||
SYS_GETRESUID = 118
|
||||
SYS_SETRESGID = 119
|
||||
SYS_GETRESGID = 120
|
||||
SYS_GETPGID = 121
|
||||
SYS_SETFSUID = 122
|
||||
SYS_SETFSGID = 123
|
||||
SYS_GETSID = 124
|
||||
SYS_CAPGET = 125
|
||||
SYS_CAPSET = 126
|
||||
SYS_RT_SIGPENDING = 127
|
||||
SYS_RT_SIGTIMEDWAIT = 128
|
||||
SYS_RT_SIGQUEUEINFO = 129
|
||||
SYS_RT_SIGSUSPEND = 130
|
||||
SYS_SIGALTSTACK = 131
|
||||
SYS_UTIME = 132
|
||||
SYS_MKNOD = 133
|
||||
SYS_USELIB = 134
|
||||
SYS_PERSONALITY = 135
|
||||
SYS_USTAT = 136
|
||||
SYS_STATFS = 137
|
||||
SYS_FSTATFS = 138
|
||||
SYS_SYSFS = 139
|
||||
SYS_GETPRIORITY = 140
|
||||
SYS_SETPRIORITY = 141
|
||||
SYS_SCHED_SETPARAM = 142
|
||||
SYS_SCHED_GETPARAM = 143
|
||||
SYS_SCHED_SETSCHEDULER = 144
|
||||
SYS_SCHED_GETSCHEDULER = 145
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 146
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 147
|
||||
SYS_SCHED_RR_GET_INTERVAL = 148
|
||||
SYS_MLOCK = 149
|
||||
SYS_MUNLOCK = 150
|
||||
SYS_MLOCKALL = 151
|
||||
SYS_MUNLOCKALL = 152
|
||||
SYS_VHANGUP = 153
|
||||
SYS_MODIFY_LDT = 154
|
||||
SYS_PIVOT_ROOT = 155
|
||||
SYS__SYSCTL = 156
|
||||
SYS_PRCTL = 157
|
||||
SYS_ARCH_PRCTL = 158
|
||||
SYS_ADJTIMEX = 159
|
||||
SYS_SETRLIMIT = 160
|
||||
SYS_CHROOT = 161
|
||||
SYS_SYNC = 162
|
||||
SYS_ACCT = 163
|
||||
SYS_SETTIMEOFDAY = 164
|
||||
SYS_MOUNT = 165
|
||||
SYS_UMOUNT2 = 166
|
||||
SYS_SWAPON = 167
|
||||
SYS_SWAPOFF = 168
|
||||
SYS_REBOOT = 169
|
||||
SYS_SETHOSTNAME = 170
|
||||
SYS_SETDOMAINNAME = 171
|
||||
SYS_IOPL = 172
|
||||
SYS_IOPERM = 173
|
||||
SYS_CREATE_MODULE = 174
|
||||
SYS_INIT_MODULE = 175
|
||||
SYS_DELETE_MODULE = 176
|
||||
SYS_GET_KERNEL_SYMS = 177
|
||||
SYS_QUERY_MODULE = 178
|
||||
SYS_QUOTACTL = 179
|
||||
SYS_NFSSERVCTL = 180
|
||||
SYS_GETPMSG = 181
|
||||
SYS_PUTPMSG = 182
|
||||
SYS_AFS_SYSCALL = 183
|
||||
SYS_TUXCALL = 184
|
||||
SYS_SECURITY = 185
|
||||
SYS_GETTID = 186
|
||||
SYS_READAHEAD = 187
|
||||
SYS_SETXATTR = 188
|
||||
SYS_LSETXATTR = 189
|
||||
SYS_FSETXATTR = 190
|
||||
SYS_GETXATTR = 191
|
||||
SYS_LGETXATTR = 192
|
||||
SYS_FGETXATTR = 193
|
||||
SYS_LISTXATTR = 194
|
||||
SYS_LLISTXATTR = 195
|
||||
SYS_FLISTXATTR = 196
|
||||
SYS_REMOVEXATTR = 197
|
||||
SYS_LREMOVEXATTR = 198
|
||||
SYS_FREMOVEXATTR = 199
|
||||
SYS_TKILL = 200
|
||||
SYS_TIME = 201
|
||||
SYS_FUTEX = 202
|
||||
SYS_SCHED_SETAFFINITY = 203
|
||||
SYS_SCHED_GETAFFINITY = 204
|
||||
SYS_SET_THREAD_AREA = 205
|
||||
SYS_IO_SETUP = 206
|
||||
SYS_IO_DESTROY = 207
|
||||
SYS_IO_GETEVENTS = 208
|
||||
SYS_IO_SUBMIT = 209
|
||||
SYS_IO_CANCEL = 210
|
||||
SYS_GET_THREAD_AREA = 211
|
||||
SYS_LOOKUP_DCOOKIE = 212
|
||||
SYS_EPOLL_CREATE = 213
|
||||
SYS_EPOLL_CTL_OLD = 214
|
||||
SYS_EPOLL_WAIT_OLD = 215
|
||||
SYS_REMAP_FILE_PAGES = 216
|
||||
SYS_GETDENTS64 = 217
|
||||
SYS_SET_TID_ADDRESS = 218
|
||||
SYS_RESTART_SYSCALL = 219
|
||||
SYS_SEMTIMEDOP = 220
|
||||
SYS_FADVISE64 = 221
|
||||
SYS_TIMER_CREATE = 222
|
||||
SYS_TIMER_SETTIME = 223
|
||||
SYS_TIMER_GETTIME = 224
|
||||
SYS_TIMER_GETOVERRUN = 225
|
||||
SYS_TIMER_DELETE = 226
|
||||
SYS_CLOCK_SETTIME = 227
|
||||
SYS_CLOCK_GETTIME = 228
|
||||
SYS_CLOCK_GETRES = 229
|
||||
SYS_CLOCK_NANOSLEEP = 230
|
||||
SYS_EXIT_GROUP = 231
|
||||
SYS_EPOLL_WAIT = 232
|
||||
SYS_EPOLL_CTL = 233
|
||||
SYS_TGKILL = 234
|
||||
SYS_UTIMES = 235
|
||||
SYS_VSERVER = 236
|
||||
SYS_MBIND = 237
|
||||
SYS_SET_MEMPOLICY = 238
|
||||
SYS_GET_MEMPOLICY = 239
|
||||
SYS_MQ_OPEN = 240
|
||||
SYS_MQ_UNLINK = 241
|
||||
SYS_MQ_TIMEDSEND = 242
|
||||
SYS_MQ_TIMEDRECEIVE = 243
|
||||
SYS_MQ_NOTIFY = 244
|
||||
SYS_MQ_GETSETATTR = 245
|
||||
SYS_KEXEC_LOAD = 246
|
||||
SYS_WAITID = 247
|
||||
SYS_ADD_KEY = 248
|
||||
SYS_REQUEST_KEY = 249
|
||||
SYS_KEYCTL = 250
|
||||
SYS_IOPRIO_SET = 251
|
||||
SYS_IOPRIO_GET = 252
|
||||
SYS_INOTIFY_INIT = 253
|
||||
SYS_INOTIFY_ADD_WATCH = 254
|
||||
SYS_INOTIFY_RM_WATCH = 255
|
||||
SYS_MIGRATE_PAGES = 256
|
||||
SYS_OPENAT = 257
|
||||
SYS_MKDIRAT = 258
|
||||
SYS_MKNODAT = 259
|
||||
SYS_FCHOWNAT = 260
|
||||
SYS_FUTIMESAT = 261
|
||||
SYS_NEWFSTATAT = 262
|
||||
SYS_UNLINKAT = 263
|
||||
SYS_RENAMEAT = 264
|
||||
SYS_LINKAT = 265
|
||||
SYS_SYMLINKAT = 266
|
||||
SYS_READLINKAT = 267
|
||||
SYS_FCHMODAT = 268
|
||||
SYS_FACCESSAT = 269
|
||||
SYS_PSELECT6 = 270
|
||||
SYS_PPOLL = 271
|
||||
SYS_UNSHARE = 272
|
||||
SYS_SET_ROBUST_LIST = 273
|
||||
SYS_GET_ROBUST_LIST = 274
|
||||
SYS_SPLICE = 275
|
||||
SYS_TEE = 276
|
||||
SYS_SYNC_FILE_RANGE = 277
|
||||
SYS_VMSPLICE = 278
|
||||
SYS_MOVE_PAGES = 279
|
||||
SYS_UTIMENSAT = 280
|
||||
SYS_EPOLL_PWAIT = 281
|
||||
SYS_SIGNALFD = 282
|
||||
SYS_TIMERFD_CREATE = 283
|
||||
SYS_EVENTFD = 284
|
||||
SYS_FALLOCATE = 285
|
||||
SYS_TIMERFD_SETTIME = 286
|
||||
SYS_TIMERFD_GETTIME = 287
|
||||
SYS_ACCEPT4 = 288
|
||||
SYS_SIGNALFD4 = 289
|
||||
SYS_EVENTFD2 = 290
|
||||
SYS_EPOLL_CREATE1 = 291
|
||||
SYS_DUP3 = 292
|
||||
SYS_PIPE2 = 293
|
||||
SYS_INOTIFY_INIT1 = 294
|
||||
SYS_PREADV = 295
|
||||
SYS_PWRITEV = 296
|
||||
SYS_RT_TGSIGQUEUEINFO = 297
|
||||
SYS_PERF_EVENT_OPEN = 298
|
||||
SYS_RECVMMSG = 299
|
||||
SYS_FANOTIFY_INIT = 300
|
||||
SYS_FANOTIFY_MARK = 301
|
||||
SYS_PRLIMIT64 = 302
|
||||
SYS_NAME_TO_HANDLE_AT = 303
|
||||
SYS_OPEN_BY_HANDLE_AT = 304
|
||||
SYS_CLOCK_ADJTIME = 305
|
||||
SYS_SYNCFS = 306
|
||||
SYS_SENDMMSG = 307
|
||||
SYS_SETNS = 308
|
||||
SYS_GETCPU = 309
|
||||
SYS_PROCESS_VM_READV = 310
|
||||
SYS_PROCESS_VM_WRITEV = 311
|
||||
SYS_KCMP = 312
|
||||
SYS_FINIT_MODULE = 313
|
||||
SYS_SCHED_SETATTR = 314
|
||||
SYS_SCHED_GETATTR = 315
|
||||
SYS_RENAMEAT2 = 316
|
||||
SYS_SECCOMP = 317
|
||||
SYS_GETRANDOM = 318
|
||||
SYS_MEMFD_CREATE = 319
|
||||
SYS_KEXEC_FILE_LOAD = 320
|
||||
SYS_BPF = 321
|
||||
SYS_EXECVEAT = 322
|
||||
SYS_USERFAULTFD = 323
|
||||
SYS_MEMBARRIER = 324
|
||||
SYS_MLOCK2 = 325
|
||||
SYS_COPY_FILE_RANGE = 326
|
||||
SYS_PREADV2 = 327
|
||||
SYS_PWRITEV2 = 328
|
||||
SYS_PKEY_MPROTECT = 329
|
||||
SYS_PKEY_ALLOC = 330
|
||||
SYS_PKEY_FREE = 331
|
||||
SYS_STATX = 332
|
||||
SYS_IO_PGETEVENTS = 333
|
||||
SYS_RSEQ = 334
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_READ = 0
|
||||
SYS_WRITE = 1
|
||||
SYS_OPEN = 2
|
||||
SYS_CLOSE = 3
|
||||
SYS_STAT = 4
|
||||
SYS_FSTAT = 5
|
||||
SYS_LSTAT = 6
|
||||
SYS_POLL = 7
|
||||
SYS_LSEEK = 8
|
||||
SYS_MMAP = 9
|
||||
SYS_MPROTECT = 10
|
||||
SYS_MUNMAP = 11
|
||||
SYS_BRK = 12
|
||||
SYS_RT_SIGACTION = 13
|
||||
SYS_RT_SIGPROCMASK = 14
|
||||
SYS_RT_SIGRETURN = 15
|
||||
SYS_IOCTL = 16
|
||||
SYS_PREAD64 = 17
|
||||
SYS_PWRITE64 = 18
|
||||
SYS_READV = 19
|
||||
SYS_WRITEV = 20
|
||||
SYS_ACCESS = 21
|
||||
SYS_PIPE = 22
|
||||
SYS_SELECT = 23
|
||||
SYS_SCHED_YIELD = 24
|
||||
SYS_MREMAP = 25
|
||||
SYS_MSYNC = 26
|
||||
SYS_MINCORE = 27
|
||||
SYS_MADVISE = 28
|
||||
SYS_SHMGET = 29
|
||||
SYS_SHMAT = 30
|
||||
SYS_SHMCTL = 31
|
||||
SYS_DUP = 32
|
||||
SYS_DUP2 = 33
|
||||
SYS_PAUSE = 34
|
||||
SYS_NANOSLEEP = 35
|
||||
SYS_GETITIMER = 36
|
||||
SYS_ALARM = 37
|
||||
SYS_SETITIMER = 38
|
||||
SYS_GETPID = 39
|
||||
SYS_SENDFILE = 40
|
||||
SYS_SOCKET = 41
|
||||
SYS_CONNECT = 42
|
||||
SYS_ACCEPT = 43
|
||||
SYS_SENDTO = 44
|
||||
SYS_RECVFROM = 45
|
||||
SYS_SENDMSG = 46
|
||||
SYS_RECVMSG = 47
|
||||
SYS_SHUTDOWN = 48
|
||||
SYS_BIND = 49
|
||||
SYS_LISTEN = 50
|
||||
SYS_GETSOCKNAME = 51
|
||||
SYS_GETPEERNAME = 52
|
||||
SYS_SOCKETPAIR = 53
|
||||
SYS_SETSOCKOPT = 54
|
||||
SYS_GETSOCKOPT = 55
|
||||
SYS_CLONE = 56
|
||||
SYS_FORK = 57
|
||||
SYS_VFORK = 58
|
||||
SYS_EXECVE = 59
|
||||
SYS_EXIT = 60
|
||||
SYS_WAIT4 = 61
|
||||
SYS_KILL = 62
|
||||
SYS_UNAME = 63
|
||||
SYS_SEMGET = 64
|
||||
SYS_SEMOP = 65
|
||||
SYS_SEMCTL = 66
|
||||
SYS_SHMDT = 67
|
||||
SYS_MSGGET = 68
|
||||
SYS_MSGSND = 69
|
||||
SYS_MSGRCV = 70
|
||||
SYS_MSGCTL = 71
|
||||
SYS_FCNTL = 72
|
||||
SYS_FLOCK = 73
|
||||
SYS_FSYNC = 74
|
||||
SYS_FDATASYNC = 75
|
||||
SYS_TRUNCATE = 76
|
||||
SYS_FTRUNCATE = 77
|
||||
SYS_GETDENTS = 78
|
||||
SYS_GETCWD = 79
|
||||
SYS_CHDIR = 80
|
||||
SYS_FCHDIR = 81
|
||||
SYS_RENAME = 82
|
||||
SYS_MKDIR = 83
|
||||
SYS_RMDIR = 84
|
||||
SYS_CREAT = 85
|
||||
SYS_LINK = 86
|
||||
SYS_UNLINK = 87
|
||||
SYS_SYMLINK = 88
|
||||
SYS_READLINK = 89
|
||||
SYS_CHMOD = 90
|
||||
SYS_FCHMOD = 91
|
||||
SYS_CHOWN = 92
|
||||
SYS_FCHOWN = 93
|
||||
SYS_LCHOWN = 94
|
||||
SYS_UMASK = 95
|
||||
SYS_GETTIMEOFDAY = 96
|
||||
SYS_GETRLIMIT = 97
|
||||
SYS_GETRUSAGE = 98
|
||||
SYS_SYSINFO = 99
|
||||
SYS_TIMES = 100
|
||||
SYS_PTRACE = 101
|
||||
SYS_GETUID = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_GETGID = 104
|
||||
SYS_SETUID = 105
|
||||
SYS_SETGID = 106
|
||||
SYS_GETEUID = 107
|
||||
SYS_GETEGID = 108
|
||||
SYS_SETPGID = 109
|
||||
SYS_GETPPID = 110
|
||||
SYS_GETPGRP = 111
|
||||
SYS_SETSID = 112
|
||||
SYS_SETREUID = 113
|
||||
SYS_SETREGID = 114
|
||||
SYS_GETGROUPS = 115
|
||||
SYS_SETGROUPS = 116
|
||||
SYS_SETRESUID = 117
|
||||
SYS_GETRESUID = 118
|
||||
SYS_SETRESGID = 119
|
||||
SYS_GETRESGID = 120
|
||||
SYS_GETPGID = 121
|
||||
SYS_SETFSUID = 122
|
||||
SYS_SETFSGID = 123
|
||||
SYS_GETSID = 124
|
||||
SYS_CAPGET = 125
|
||||
SYS_CAPSET = 126
|
||||
SYS_RT_SIGPENDING = 127
|
||||
SYS_RT_SIGTIMEDWAIT = 128
|
||||
SYS_RT_SIGQUEUEINFO = 129
|
||||
SYS_RT_SIGSUSPEND = 130
|
||||
SYS_SIGALTSTACK = 131
|
||||
SYS_UTIME = 132
|
||||
SYS_MKNOD = 133
|
||||
SYS_USELIB = 134
|
||||
SYS_PERSONALITY = 135
|
||||
SYS_USTAT = 136
|
||||
SYS_STATFS = 137
|
||||
SYS_FSTATFS = 138
|
||||
SYS_SYSFS = 139
|
||||
SYS_GETPRIORITY = 140
|
||||
SYS_SETPRIORITY = 141
|
||||
SYS_SCHED_SETPARAM = 142
|
||||
SYS_SCHED_GETPARAM = 143
|
||||
SYS_SCHED_SETSCHEDULER = 144
|
||||
SYS_SCHED_GETSCHEDULER = 145
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 146
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 147
|
||||
SYS_SCHED_RR_GET_INTERVAL = 148
|
||||
SYS_MLOCK = 149
|
||||
SYS_MUNLOCK = 150
|
||||
SYS_MLOCKALL = 151
|
||||
SYS_MUNLOCKALL = 152
|
||||
SYS_VHANGUP = 153
|
||||
SYS_MODIFY_LDT = 154
|
||||
SYS_PIVOT_ROOT = 155
|
||||
SYS__SYSCTL = 156
|
||||
SYS_PRCTL = 157
|
||||
SYS_ARCH_PRCTL = 158
|
||||
SYS_ADJTIMEX = 159
|
||||
SYS_SETRLIMIT = 160
|
||||
SYS_CHROOT = 161
|
||||
SYS_SYNC = 162
|
||||
SYS_ACCT = 163
|
||||
SYS_SETTIMEOFDAY = 164
|
||||
SYS_MOUNT = 165
|
||||
SYS_UMOUNT2 = 166
|
||||
SYS_SWAPON = 167
|
||||
SYS_SWAPOFF = 168
|
||||
SYS_REBOOT = 169
|
||||
SYS_SETHOSTNAME = 170
|
||||
SYS_SETDOMAINNAME = 171
|
||||
SYS_IOPL = 172
|
||||
SYS_IOPERM = 173
|
||||
SYS_CREATE_MODULE = 174
|
||||
SYS_INIT_MODULE = 175
|
||||
SYS_DELETE_MODULE = 176
|
||||
SYS_GET_KERNEL_SYMS = 177
|
||||
SYS_QUERY_MODULE = 178
|
||||
SYS_QUOTACTL = 179
|
||||
SYS_NFSSERVCTL = 180
|
||||
SYS_GETPMSG = 181
|
||||
SYS_PUTPMSG = 182
|
||||
SYS_AFS_SYSCALL = 183
|
||||
SYS_TUXCALL = 184
|
||||
SYS_SECURITY = 185
|
||||
SYS_GETTID = 186
|
||||
SYS_READAHEAD = 187
|
||||
SYS_SETXATTR = 188
|
||||
SYS_LSETXATTR = 189
|
||||
SYS_FSETXATTR = 190
|
||||
SYS_GETXATTR = 191
|
||||
SYS_LGETXATTR = 192
|
||||
SYS_FGETXATTR = 193
|
||||
SYS_LISTXATTR = 194
|
||||
SYS_LLISTXATTR = 195
|
||||
SYS_FLISTXATTR = 196
|
||||
SYS_REMOVEXATTR = 197
|
||||
SYS_LREMOVEXATTR = 198
|
||||
SYS_FREMOVEXATTR = 199
|
||||
SYS_TKILL = 200
|
||||
SYS_TIME = 201
|
||||
SYS_FUTEX = 202
|
||||
SYS_SCHED_SETAFFINITY = 203
|
||||
SYS_SCHED_GETAFFINITY = 204
|
||||
SYS_SET_THREAD_AREA = 205
|
||||
SYS_IO_SETUP = 206
|
||||
SYS_IO_DESTROY = 207
|
||||
SYS_IO_GETEVENTS = 208
|
||||
SYS_IO_SUBMIT = 209
|
||||
SYS_IO_CANCEL = 210
|
||||
SYS_GET_THREAD_AREA = 211
|
||||
SYS_LOOKUP_DCOOKIE = 212
|
||||
SYS_EPOLL_CREATE = 213
|
||||
SYS_EPOLL_CTL_OLD = 214
|
||||
SYS_EPOLL_WAIT_OLD = 215
|
||||
SYS_REMAP_FILE_PAGES = 216
|
||||
SYS_GETDENTS64 = 217
|
||||
SYS_SET_TID_ADDRESS = 218
|
||||
SYS_RESTART_SYSCALL = 219
|
||||
SYS_SEMTIMEDOP = 220
|
||||
SYS_FADVISE64 = 221
|
||||
SYS_TIMER_CREATE = 222
|
||||
SYS_TIMER_SETTIME = 223
|
||||
SYS_TIMER_GETTIME = 224
|
||||
SYS_TIMER_GETOVERRUN = 225
|
||||
SYS_TIMER_DELETE = 226
|
||||
SYS_CLOCK_SETTIME = 227
|
||||
SYS_CLOCK_GETTIME = 228
|
||||
SYS_CLOCK_GETRES = 229
|
||||
SYS_CLOCK_NANOSLEEP = 230
|
||||
SYS_EXIT_GROUP = 231
|
||||
SYS_EPOLL_WAIT = 232
|
||||
SYS_EPOLL_CTL = 233
|
||||
SYS_TGKILL = 234
|
||||
SYS_UTIMES = 235
|
||||
SYS_VSERVER = 236
|
||||
SYS_MBIND = 237
|
||||
SYS_SET_MEMPOLICY = 238
|
||||
SYS_GET_MEMPOLICY = 239
|
||||
SYS_MQ_OPEN = 240
|
||||
SYS_MQ_UNLINK = 241
|
||||
SYS_MQ_TIMEDSEND = 242
|
||||
SYS_MQ_TIMEDRECEIVE = 243
|
||||
SYS_MQ_NOTIFY = 244
|
||||
SYS_MQ_GETSETATTR = 245
|
||||
SYS_KEXEC_LOAD = 246
|
||||
SYS_WAITID = 247
|
||||
SYS_ADD_KEY = 248
|
||||
SYS_REQUEST_KEY = 249
|
||||
SYS_KEYCTL = 250
|
||||
SYS_IOPRIO_SET = 251
|
||||
SYS_IOPRIO_GET = 252
|
||||
SYS_INOTIFY_INIT = 253
|
||||
SYS_INOTIFY_ADD_WATCH = 254
|
||||
SYS_INOTIFY_RM_WATCH = 255
|
||||
SYS_MIGRATE_PAGES = 256
|
||||
SYS_OPENAT = 257
|
||||
SYS_MKDIRAT = 258
|
||||
SYS_MKNODAT = 259
|
||||
SYS_FCHOWNAT = 260
|
||||
SYS_FUTIMESAT = 261
|
||||
SYS_NEWFSTATAT = 262
|
||||
SYS_UNLINKAT = 263
|
||||
SYS_RENAMEAT = 264
|
||||
SYS_LINKAT = 265
|
||||
SYS_SYMLINKAT = 266
|
||||
SYS_READLINKAT = 267
|
||||
SYS_FCHMODAT = 268
|
||||
SYS_FACCESSAT = 269
|
||||
SYS_PSELECT6 = 270
|
||||
SYS_PPOLL = 271
|
||||
SYS_UNSHARE = 272
|
||||
SYS_SET_ROBUST_LIST = 273
|
||||
SYS_GET_ROBUST_LIST = 274
|
||||
SYS_SPLICE = 275
|
||||
SYS_TEE = 276
|
||||
SYS_SYNC_FILE_RANGE = 277
|
||||
SYS_VMSPLICE = 278
|
||||
SYS_MOVE_PAGES = 279
|
||||
SYS_UTIMENSAT = 280
|
||||
SYS_EPOLL_PWAIT = 281
|
||||
SYS_SIGNALFD = 282
|
||||
SYS_TIMERFD_CREATE = 283
|
||||
SYS_EVENTFD = 284
|
||||
SYS_FALLOCATE = 285
|
||||
SYS_TIMERFD_SETTIME = 286
|
||||
SYS_TIMERFD_GETTIME = 287
|
||||
SYS_ACCEPT4 = 288
|
||||
SYS_SIGNALFD4 = 289
|
||||
SYS_EVENTFD2 = 290
|
||||
SYS_EPOLL_CREATE1 = 291
|
||||
SYS_DUP3 = 292
|
||||
SYS_PIPE2 = 293
|
||||
SYS_INOTIFY_INIT1 = 294
|
||||
SYS_PREADV = 295
|
||||
SYS_PWRITEV = 296
|
||||
SYS_RT_TGSIGQUEUEINFO = 297
|
||||
SYS_PERF_EVENT_OPEN = 298
|
||||
SYS_RECVMMSG = 299
|
||||
SYS_FANOTIFY_INIT = 300
|
||||
SYS_FANOTIFY_MARK = 301
|
||||
SYS_PRLIMIT64 = 302
|
||||
SYS_NAME_TO_HANDLE_AT = 303
|
||||
SYS_OPEN_BY_HANDLE_AT = 304
|
||||
SYS_CLOCK_ADJTIME = 305
|
||||
SYS_SYNCFS = 306
|
||||
SYS_SENDMMSG = 307
|
||||
SYS_SETNS = 308
|
||||
SYS_GETCPU = 309
|
||||
SYS_PROCESS_VM_READV = 310
|
||||
SYS_PROCESS_VM_WRITEV = 311
|
||||
SYS_KCMP = 312
|
||||
SYS_FINIT_MODULE = 313
|
||||
SYS_SCHED_SETATTR = 314
|
||||
SYS_SCHED_GETATTR = 315
|
||||
SYS_RENAMEAT2 = 316
|
||||
SYS_SECCOMP = 317
|
||||
SYS_GETRANDOM = 318
|
||||
SYS_MEMFD_CREATE = 319
|
||||
SYS_KEXEC_FILE_LOAD = 320
|
||||
SYS_BPF = 321
|
||||
SYS_EXECVEAT = 322
|
||||
SYS_USERFAULTFD = 323
|
||||
SYS_MEMBARRIER = 324
|
||||
SYS_MLOCK2 = 325
|
||||
SYS_COPY_FILE_RANGE = 326
|
||||
SYS_PREADV2 = 327
|
||||
SYS_PWRITEV2 = 328
|
||||
SYS_PKEY_MPROTECT = 329
|
||||
SYS_PKEY_ALLOC = 330
|
||||
SYS_PKEY_FREE = 331
|
||||
SYS_STATX = 332
|
||||
SYS_IO_PGETEVENTS = 333
|
||||
SYS_RSEQ = 334
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
|
|
@ -403,4 +403,7 @@ const (
|
|||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
601
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
601
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
|
|
@ -7,303 +7,306 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_IO_SETUP = 0
|
||||
SYS_IO_DESTROY = 1
|
||||
SYS_IO_SUBMIT = 2
|
||||
SYS_IO_CANCEL = 3
|
||||
SYS_IO_GETEVENTS = 4
|
||||
SYS_SETXATTR = 5
|
||||
SYS_LSETXATTR = 6
|
||||
SYS_FSETXATTR = 7
|
||||
SYS_GETXATTR = 8
|
||||
SYS_LGETXATTR = 9
|
||||
SYS_FGETXATTR = 10
|
||||
SYS_LISTXATTR = 11
|
||||
SYS_LLISTXATTR = 12
|
||||
SYS_FLISTXATTR = 13
|
||||
SYS_REMOVEXATTR = 14
|
||||
SYS_LREMOVEXATTR = 15
|
||||
SYS_FREMOVEXATTR = 16
|
||||
SYS_GETCWD = 17
|
||||
SYS_LOOKUP_DCOOKIE = 18
|
||||
SYS_EVENTFD2 = 19
|
||||
SYS_EPOLL_CREATE1 = 20
|
||||
SYS_EPOLL_CTL = 21
|
||||
SYS_EPOLL_PWAIT = 22
|
||||
SYS_DUP = 23
|
||||
SYS_DUP3 = 24
|
||||
SYS_FCNTL = 25
|
||||
SYS_INOTIFY_INIT1 = 26
|
||||
SYS_INOTIFY_ADD_WATCH = 27
|
||||
SYS_INOTIFY_RM_WATCH = 28
|
||||
SYS_IOCTL = 29
|
||||
SYS_IOPRIO_SET = 30
|
||||
SYS_IOPRIO_GET = 31
|
||||
SYS_FLOCK = 32
|
||||
SYS_MKNODAT = 33
|
||||
SYS_MKDIRAT = 34
|
||||
SYS_UNLINKAT = 35
|
||||
SYS_SYMLINKAT = 36
|
||||
SYS_LINKAT = 37
|
||||
SYS_RENAMEAT = 38
|
||||
SYS_UMOUNT2 = 39
|
||||
SYS_MOUNT = 40
|
||||
SYS_PIVOT_ROOT = 41
|
||||
SYS_NFSSERVCTL = 42
|
||||
SYS_STATFS = 43
|
||||
SYS_FSTATFS = 44
|
||||
SYS_TRUNCATE = 45
|
||||
SYS_FTRUNCATE = 46
|
||||
SYS_FALLOCATE = 47
|
||||
SYS_FACCESSAT = 48
|
||||
SYS_CHDIR = 49
|
||||
SYS_FCHDIR = 50
|
||||
SYS_CHROOT = 51
|
||||
SYS_FCHMOD = 52
|
||||
SYS_FCHMODAT = 53
|
||||
SYS_FCHOWNAT = 54
|
||||
SYS_FCHOWN = 55
|
||||
SYS_OPENAT = 56
|
||||
SYS_CLOSE = 57
|
||||
SYS_VHANGUP = 58
|
||||
SYS_PIPE2 = 59
|
||||
SYS_QUOTACTL = 60
|
||||
SYS_GETDENTS64 = 61
|
||||
SYS_LSEEK = 62
|
||||
SYS_READ = 63
|
||||
SYS_WRITE = 64
|
||||
SYS_READV = 65
|
||||
SYS_WRITEV = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_PREADV = 69
|
||||
SYS_PWRITEV = 70
|
||||
SYS_SENDFILE = 71
|
||||
SYS_PSELECT6 = 72
|
||||
SYS_PPOLL = 73
|
||||
SYS_SIGNALFD4 = 74
|
||||
SYS_VMSPLICE = 75
|
||||
SYS_SPLICE = 76
|
||||
SYS_TEE = 77
|
||||
SYS_READLINKAT = 78
|
||||
SYS_FSTATAT = 79
|
||||
SYS_FSTAT = 80
|
||||
SYS_SYNC = 81
|
||||
SYS_FSYNC = 82
|
||||
SYS_FDATASYNC = 83
|
||||
SYS_SYNC_FILE_RANGE = 84
|
||||
SYS_TIMERFD_CREATE = 85
|
||||
SYS_TIMERFD_SETTIME = 86
|
||||
SYS_TIMERFD_GETTIME = 87
|
||||
SYS_UTIMENSAT = 88
|
||||
SYS_ACCT = 89
|
||||
SYS_CAPGET = 90
|
||||
SYS_CAPSET = 91
|
||||
SYS_PERSONALITY = 92
|
||||
SYS_EXIT = 93
|
||||
SYS_EXIT_GROUP = 94
|
||||
SYS_WAITID = 95
|
||||
SYS_SET_TID_ADDRESS = 96
|
||||
SYS_UNSHARE = 97
|
||||
SYS_FUTEX = 98
|
||||
SYS_SET_ROBUST_LIST = 99
|
||||
SYS_GET_ROBUST_LIST = 100
|
||||
SYS_NANOSLEEP = 101
|
||||
SYS_GETITIMER = 102
|
||||
SYS_SETITIMER = 103
|
||||
SYS_KEXEC_LOAD = 104
|
||||
SYS_INIT_MODULE = 105
|
||||
SYS_DELETE_MODULE = 106
|
||||
SYS_TIMER_CREATE = 107
|
||||
SYS_TIMER_GETTIME = 108
|
||||
SYS_TIMER_GETOVERRUN = 109
|
||||
SYS_TIMER_SETTIME = 110
|
||||
SYS_TIMER_DELETE = 111
|
||||
SYS_CLOCK_SETTIME = 112
|
||||
SYS_CLOCK_GETTIME = 113
|
||||
SYS_CLOCK_GETRES = 114
|
||||
SYS_CLOCK_NANOSLEEP = 115
|
||||
SYS_SYSLOG = 116
|
||||
SYS_PTRACE = 117
|
||||
SYS_SCHED_SETPARAM = 118
|
||||
SYS_SCHED_SETSCHEDULER = 119
|
||||
SYS_SCHED_GETSCHEDULER = 120
|
||||
SYS_SCHED_GETPARAM = 121
|
||||
SYS_SCHED_SETAFFINITY = 122
|
||||
SYS_SCHED_GETAFFINITY = 123
|
||||
SYS_SCHED_YIELD = 124
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 125
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 126
|
||||
SYS_SCHED_RR_GET_INTERVAL = 127
|
||||
SYS_RESTART_SYSCALL = 128
|
||||
SYS_KILL = 129
|
||||
SYS_TKILL = 130
|
||||
SYS_TGKILL = 131
|
||||
SYS_SIGALTSTACK = 132
|
||||
SYS_RT_SIGSUSPEND = 133
|
||||
SYS_RT_SIGACTION = 134
|
||||
SYS_RT_SIGPROCMASK = 135
|
||||
SYS_RT_SIGPENDING = 136
|
||||
SYS_RT_SIGTIMEDWAIT = 137
|
||||
SYS_RT_SIGQUEUEINFO = 138
|
||||
SYS_RT_SIGRETURN = 139
|
||||
SYS_SETPRIORITY = 140
|
||||
SYS_GETPRIORITY = 141
|
||||
SYS_REBOOT = 142
|
||||
SYS_SETREGID = 143
|
||||
SYS_SETGID = 144
|
||||
SYS_SETREUID = 145
|
||||
SYS_SETUID = 146
|
||||
SYS_SETRESUID = 147
|
||||
SYS_GETRESUID = 148
|
||||
SYS_SETRESGID = 149
|
||||
SYS_GETRESGID = 150
|
||||
SYS_SETFSUID = 151
|
||||
SYS_SETFSGID = 152
|
||||
SYS_TIMES = 153
|
||||
SYS_SETPGID = 154
|
||||
SYS_GETPGID = 155
|
||||
SYS_GETSID = 156
|
||||
SYS_SETSID = 157
|
||||
SYS_GETGROUPS = 158
|
||||
SYS_SETGROUPS = 159
|
||||
SYS_UNAME = 160
|
||||
SYS_SETHOSTNAME = 161
|
||||
SYS_SETDOMAINNAME = 162
|
||||
SYS_GETRLIMIT = 163
|
||||
SYS_SETRLIMIT = 164
|
||||
SYS_GETRUSAGE = 165
|
||||
SYS_UMASK = 166
|
||||
SYS_PRCTL = 167
|
||||
SYS_GETCPU = 168
|
||||
SYS_GETTIMEOFDAY = 169
|
||||
SYS_SETTIMEOFDAY = 170
|
||||
SYS_ADJTIMEX = 171
|
||||
SYS_GETPID = 172
|
||||
SYS_GETPPID = 173
|
||||
SYS_GETUID = 174
|
||||
SYS_GETEUID = 175
|
||||
SYS_GETGID = 176
|
||||
SYS_GETEGID = 177
|
||||
SYS_GETTID = 178
|
||||
SYS_SYSINFO = 179
|
||||
SYS_MQ_OPEN = 180
|
||||
SYS_MQ_UNLINK = 181
|
||||
SYS_MQ_TIMEDSEND = 182
|
||||
SYS_MQ_TIMEDRECEIVE = 183
|
||||
SYS_MQ_NOTIFY = 184
|
||||
SYS_MQ_GETSETATTR = 185
|
||||
SYS_MSGGET = 186
|
||||
SYS_MSGCTL = 187
|
||||
SYS_MSGRCV = 188
|
||||
SYS_MSGSND = 189
|
||||
SYS_SEMGET = 190
|
||||
SYS_SEMCTL = 191
|
||||
SYS_SEMTIMEDOP = 192
|
||||
SYS_SEMOP = 193
|
||||
SYS_SHMGET = 194
|
||||
SYS_SHMCTL = 195
|
||||
SYS_SHMAT = 196
|
||||
SYS_SHMDT = 197
|
||||
SYS_SOCKET = 198
|
||||
SYS_SOCKETPAIR = 199
|
||||
SYS_BIND = 200
|
||||
SYS_LISTEN = 201
|
||||
SYS_ACCEPT = 202
|
||||
SYS_CONNECT = 203
|
||||
SYS_GETSOCKNAME = 204
|
||||
SYS_GETPEERNAME = 205
|
||||
SYS_SENDTO = 206
|
||||
SYS_RECVFROM = 207
|
||||
SYS_SETSOCKOPT = 208
|
||||
SYS_GETSOCKOPT = 209
|
||||
SYS_SHUTDOWN = 210
|
||||
SYS_SENDMSG = 211
|
||||
SYS_RECVMSG = 212
|
||||
SYS_READAHEAD = 213
|
||||
SYS_BRK = 214
|
||||
SYS_MUNMAP = 215
|
||||
SYS_MREMAP = 216
|
||||
SYS_ADD_KEY = 217
|
||||
SYS_REQUEST_KEY = 218
|
||||
SYS_KEYCTL = 219
|
||||
SYS_CLONE = 220
|
||||
SYS_EXECVE = 221
|
||||
SYS_MMAP = 222
|
||||
SYS_FADVISE64 = 223
|
||||
SYS_SWAPON = 224
|
||||
SYS_SWAPOFF = 225
|
||||
SYS_MPROTECT = 226
|
||||
SYS_MSYNC = 227
|
||||
SYS_MLOCK = 228
|
||||
SYS_MUNLOCK = 229
|
||||
SYS_MLOCKALL = 230
|
||||
SYS_MUNLOCKALL = 231
|
||||
SYS_MINCORE = 232
|
||||
SYS_MADVISE = 233
|
||||
SYS_REMAP_FILE_PAGES = 234
|
||||
SYS_MBIND = 235
|
||||
SYS_GET_MEMPOLICY = 236
|
||||
SYS_SET_MEMPOLICY = 237
|
||||
SYS_MIGRATE_PAGES = 238
|
||||
SYS_MOVE_PAGES = 239
|
||||
SYS_RT_TGSIGQUEUEINFO = 240
|
||||
SYS_PERF_EVENT_OPEN = 241
|
||||
SYS_ACCEPT4 = 242
|
||||
SYS_RECVMMSG = 243
|
||||
SYS_ARCH_SPECIFIC_SYSCALL = 244
|
||||
SYS_WAIT4 = 260
|
||||
SYS_PRLIMIT64 = 261
|
||||
SYS_FANOTIFY_INIT = 262
|
||||
SYS_FANOTIFY_MARK = 263
|
||||
SYS_NAME_TO_HANDLE_AT = 264
|
||||
SYS_OPEN_BY_HANDLE_AT = 265
|
||||
SYS_CLOCK_ADJTIME = 266
|
||||
SYS_SYNCFS = 267
|
||||
SYS_SETNS = 268
|
||||
SYS_SENDMMSG = 269
|
||||
SYS_PROCESS_VM_READV = 270
|
||||
SYS_PROCESS_VM_WRITEV = 271
|
||||
SYS_KCMP = 272
|
||||
SYS_FINIT_MODULE = 273
|
||||
SYS_SCHED_SETATTR = 274
|
||||
SYS_SCHED_GETATTR = 275
|
||||
SYS_RENAMEAT2 = 276
|
||||
SYS_SECCOMP = 277
|
||||
SYS_GETRANDOM = 278
|
||||
SYS_MEMFD_CREATE = 279
|
||||
SYS_BPF = 280
|
||||
SYS_EXECVEAT = 281
|
||||
SYS_USERFAULTFD = 282
|
||||
SYS_MEMBARRIER = 283
|
||||
SYS_MLOCK2 = 284
|
||||
SYS_COPY_FILE_RANGE = 285
|
||||
SYS_PREADV2 = 286
|
||||
SYS_PWRITEV2 = 287
|
||||
SYS_PKEY_MPROTECT = 288
|
||||
SYS_PKEY_ALLOC = 289
|
||||
SYS_PKEY_FREE = 290
|
||||
SYS_STATX = 291
|
||||
SYS_IO_PGETEVENTS = 292
|
||||
SYS_RSEQ = 293
|
||||
SYS_KEXEC_FILE_LOAD = 294
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_IO_SETUP = 0
|
||||
SYS_IO_DESTROY = 1
|
||||
SYS_IO_SUBMIT = 2
|
||||
SYS_IO_CANCEL = 3
|
||||
SYS_IO_GETEVENTS = 4
|
||||
SYS_SETXATTR = 5
|
||||
SYS_LSETXATTR = 6
|
||||
SYS_FSETXATTR = 7
|
||||
SYS_GETXATTR = 8
|
||||
SYS_LGETXATTR = 9
|
||||
SYS_FGETXATTR = 10
|
||||
SYS_LISTXATTR = 11
|
||||
SYS_LLISTXATTR = 12
|
||||
SYS_FLISTXATTR = 13
|
||||
SYS_REMOVEXATTR = 14
|
||||
SYS_LREMOVEXATTR = 15
|
||||
SYS_FREMOVEXATTR = 16
|
||||
SYS_GETCWD = 17
|
||||
SYS_LOOKUP_DCOOKIE = 18
|
||||
SYS_EVENTFD2 = 19
|
||||
SYS_EPOLL_CREATE1 = 20
|
||||
SYS_EPOLL_CTL = 21
|
||||
SYS_EPOLL_PWAIT = 22
|
||||
SYS_DUP = 23
|
||||
SYS_DUP3 = 24
|
||||
SYS_FCNTL = 25
|
||||
SYS_INOTIFY_INIT1 = 26
|
||||
SYS_INOTIFY_ADD_WATCH = 27
|
||||
SYS_INOTIFY_RM_WATCH = 28
|
||||
SYS_IOCTL = 29
|
||||
SYS_IOPRIO_SET = 30
|
||||
SYS_IOPRIO_GET = 31
|
||||
SYS_FLOCK = 32
|
||||
SYS_MKNODAT = 33
|
||||
SYS_MKDIRAT = 34
|
||||
SYS_UNLINKAT = 35
|
||||
SYS_SYMLINKAT = 36
|
||||
SYS_LINKAT = 37
|
||||
SYS_RENAMEAT = 38
|
||||
SYS_UMOUNT2 = 39
|
||||
SYS_MOUNT = 40
|
||||
SYS_PIVOT_ROOT = 41
|
||||
SYS_NFSSERVCTL = 42
|
||||
SYS_STATFS = 43
|
||||
SYS_FSTATFS = 44
|
||||
SYS_TRUNCATE = 45
|
||||
SYS_FTRUNCATE = 46
|
||||
SYS_FALLOCATE = 47
|
||||
SYS_FACCESSAT = 48
|
||||
SYS_CHDIR = 49
|
||||
SYS_FCHDIR = 50
|
||||
SYS_CHROOT = 51
|
||||
SYS_FCHMOD = 52
|
||||
SYS_FCHMODAT = 53
|
||||
SYS_FCHOWNAT = 54
|
||||
SYS_FCHOWN = 55
|
||||
SYS_OPENAT = 56
|
||||
SYS_CLOSE = 57
|
||||
SYS_VHANGUP = 58
|
||||
SYS_PIPE2 = 59
|
||||
SYS_QUOTACTL = 60
|
||||
SYS_GETDENTS64 = 61
|
||||
SYS_LSEEK = 62
|
||||
SYS_READ = 63
|
||||
SYS_WRITE = 64
|
||||
SYS_READV = 65
|
||||
SYS_WRITEV = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_PREADV = 69
|
||||
SYS_PWRITEV = 70
|
||||
SYS_SENDFILE = 71
|
||||
SYS_PSELECT6 = 72
|
||||
SYS_PPOLL = 73
|
||||
SYS_SIGNALFD4 = 74
|
||||
SYS_VMSPLICE = 75
|
||||
SYS_SPLICE = 76
|
||||
SYS_TEE = 77
|
||||
SYS_READLINKAT = 78
|
||||
SYS_FSTATAT = 79
|
||||
SYS_FSTAT = 80
|
||||
SYS_SYNC = 81
|
||||
SYS_FSYNC = 82
|
||||
SYS_FDATASYNC = 83
|
||||
SYS_SYNC_FILE_RANGE = 84
|
||||
SYS_TIMERFD_CREATE = 85
|
||||
SYS_TIMERFD_SETTIME = 86
|
||||
SYS_TIMERFD_GETTIME = 87
|
||||
SYS_UTIMENSAT = 88
|
||||
SYS_ACCT = 89
|
||||
SYS_CAPGET = 90
|
||||
SYS_CAPSET = 91
|
||||
SYS_PERSONALITY = 92
|
||||
SYS_EXIT = 93
|
||||
SYS_EXIT_GROUP = 94
|
||||
SYS_WAITID = 95
|
||||
SYS_SET_TID_ADDRESS = 96
|
||||
SYS_UNSHARE = 97
|
||||
SYS_FUTEX = 98
|
||||
SYS_SET_ROBUST_LIST = 99
|
||||
SYS_GET_ROBUST_LIST = 100
|
||||
SYS_NANOSLEEP = 101
|
||||
SYS_GETITIMER = 102
|
||||
SYS_SETITIMER = 103
|
||||
SYS_KEXEC_LOAD = 104
|
||||
SYS_INIT_MODULE = 105
|
||||
SYS_DELETE_MODULE = 106
|
||||
SYS_TIMER_CREATE = 107
|
||||
SYS_TIMER_GETTIME = 108
|
||||
SYS_TIMER_GETOVERRUN = 109
|
||||
SYS_TIMER_SETTIME = 110
|
||||
SYS_TIMER_DELETE = 111
|
||||
SYS_CLOCK_SETTIME = 112
|
||||
SYS_CLOCK_GETTIME = 113
|
||||
SYS_CLOCK_GETRES = 114
|
||||
SYS_CLOCK_NANOSLEEP = 115
|
||||
SYS_SYSLOG = 116
|
||||
SYS_PTRACE = 117
|
||||
SYS_SCHED_SETPARAM = 118
|
||||
SYS_SCHED_SETSCHEDULER = 119
|
||||
SYS_SCHED_GETSCHEDULER = 120
|
||||
SYS_SCHED_GETPARAM = 121
|
||||
SYS_SCHED_SETAFFINITY = 122
|
||||
SYS_SCHED_GETAFFINITY = 123
|
||||
SYS_SCHED_YIELD = 124
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 125
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 126
|
||||
SYS_SCHED_RR_GET_INTERVAL = 127
|
||||
SYS_RESTART_SYSCALL = 128
|
||||
SYS_KILL = 129
|
||||
SYS_TKILL = 130
|
||||
SYS_TGKILL = 131
|
||||
SYS_SIGALTSTACK = 132
|
||||
SYS_RT_SIGSUSPEND = 133
|
||||
SYS_RT_SIGACTION = 134
|
||||
SYS_RT_SIGPROCMASK = 135
|
||||
SYS_RT_SIGPENDING = 136
|
||||
SYS_RT_SIGTIMEDWAIT = 137
|
||||
SYS_RT_SIGQUEUEINFO = 138
|
||||
SYS_RT_SIGRETURN = 139
|
||||
SYS_SETPRIORITY = 140
|
||||
SYS_GETPRIORITY = 141
|
||||
SYS_REBOOT = 142
|
||||
SYS_SETREGID = 143
|
||||
SYS_SETGID = 144
|
||||
SYS_SETREUID = 145
|
||||
SYS_SETUID = 146
|
||||
SYS_SETRESUID = 147
|
||||
SYS_GETRESUID = 148
|
||||
SYS_SETRESGID = 149
|
||||
SYS_GETRESGID = 150
|
||||
SYS_SETFSUID = 151
|
||||
SYS_SETFSGID = 152
|
||||
SYS_TIMES = 153
|
||||
SYS_SETPGID = 154
|
||||
SYS_GETPGID = 155
|
||||
SYS_GETSID = 156
|
||||
SYS_SETSID = 157
|
||||
SYS_GETGROUPS = 158
|
||||
SYS_SETGROUPS = 159
|
||||
SYS_UNAME = 160
|
||||
SYS_SETHOSTNAME = 161
|
||||
SYS_SETDOMAINNAME = 162
|
||||
SYS_GETRLIMIT = 163
|
||||
SYS_SETRLIMIT = 164
|
||||
SYS_GETRUSAGE = 165
|
||||
SYS_UMASK = 166
|
||||
SYS_PRCTL = 167
|
||||
SYS_GETCPU = 168
|
||||
SYS_GETTIMEOFDAY = 169
|
||||
SYS_SETTIMEOFDAY = 170
|
||||
SYS_ADJTIMEX = 171
|
||||
SYS_GETPID = 172
|
||||
SYS_GETPPID = 173
|
||||
SYS_GETUID = 174
|
||||
SYS_GETEUID = 175
|
||||
SYS_GETGID = 176
|
||||
SYS_GETEGID = 177
|
||||
SYS_GETTID = 178
|
||||
SYS_SYSINFO = 179
|
||||
SYS_MQ_OPEN = 180
|
||||
SYS_MQ_UNLINK = 181
|
||||
SYS_MQ_TIMEDSEND = 182
|
||||
SYS_MQ_TIMEDRECEIVE = 183
|
||||
SYS_MQ_NOTIFY = 184
|
||||
SYS_MQ_GETSETATTR = 185
|
||||
SYS_MSGGET = 186
|
||||
SYS_MSGCTL = 187
|
||||
SYS_MSGRCV = 188
|
||||
SYS_MSGSND = 189
|
||||
SYS_SEMGET = 190
|
||||
SYS_SEMCTL = 191
|
||||
SYS_SEMTIMEDOP = 192
|
||||
SYS_SEMOP = 193
|
||||
SYS_SHMGET = 194
|
||||
SYS_SHMCTL = 195
|
||||
SYS_SHMAT = 196
|
||||
SYS_SHMDT = 197
|
||||
SYS_SOCKET = 198
|
||||
SYS_SOCKETPAIR = 199
|
||||
SYS_BIND = 200
|
||||
SYS_LISTEN = 201
|
||||
SYS_ACCEPT = 202
|
||||
SYS_CONNECT = 203
|
||||
SYS_GETSOCKNAME = 204
|
||||
SYS_GETPEERNAME = 205
|
||||
SYS_SENDTO = 206
|
||||
SYS_RECVFROM = 207
|
||||
SYS_SETSOCKOPT = 208
|
||||
SYS_GETSOCKOPT = 209
|
||||
SYS_SHUTDOWN = 210
|
||||
SYS_SENDMSG = 211
|
||||
SYS_RECVMSG = 212
|
||||
SYS_READAHEAD = 213
|
||||
SYS_BRK = 214
|
||||
SYS_MUNMAP = 215
|
||||
SYS_MREMAP = 216
|
||||
SYS_ADD_KEY = 217
|
||||
SYS_REQUEST_KEY = 218
|
||||
SYS_KEYCTL = 219
|
||||
SYS_CLONE = 220
|
||||
SYS_EXECVE = 221
|
||||
SYS_MMAP = 222
|
||||
SYS_FADVISE64 = 223
|
||||
SYS_SWAPON = 224
|
||||
SYS_SWAPOFF = 225
|
||||
SYS_MPROTECT = 226
|
||||
SYS_MSYNC = 227
|
||||
SYS_MLOCK = 228
|
||||
SYS_MUNLOCK = 229
|
||||
SYS_MLOCKALL = 230
|
||||
SYS_MUNLOCKALL = 231
|
||||
SYS_MINCORE = 232
|
||||
SYS_MADVISE = 233
|
||||
SYS_REMAP_FILE_PAGES = 234
|
||||
SYS_MBIND = 235
|
||||
SYS_GET_MEMPOLICY = 236
|
||||
SYS_SET_MEMPOLICY = 237
|
||||
SYS_MIGRATE_PAGES = 238
|
||||
SYS_MOVE_PAGES = 239
|
||||
SYS_RT_TGSIGQUEUEINFO = 240
|
||||
SYS_PERF_EVENT_OPEN = 241
|
||||
SYS_ACCEPT4 = 242
|
||||
SYS_RECVMMSG = 243
|
||||
SYS_ARCH_SPECIFIC_SYSCALL = 244
|
||||
SYS_WAIT4 = 260
|
||||
SYS_PRLIMIT64 = 261
|
||||
SYS_FANOTIFY_INIT = 262
|
||||
SYS_FANOTIFY_MARK = 263
|
||||
SYS_NAME_TO_HANDLE_AT = 264
|
||||
SYS_OPEN_BY_HANDLE_AT = 265
|
||||
SYS_CLOCK_ADJTIME = 266
|
||||
SYS_SYNCFS = 267
|
||||
SYS_SETNS = 268
|
||||
SYS_SENDMMSG = 269
|
||||
SYS_PROCESS_VM_READV = 270
|
||||
SYS_PROCESS_VM_WRITEV = 271
|
||||
SYS_KCMP = 272
|
||||
SYS_FINIT_MODULE = 273
|
||||
SYS_SCHED_SETATTR = 274
|
||||
SYS_SCHED_GETATTR = 275
|
||||
SYS_RENAMEAT2 = 276
|
||||
SYS_SECCOMP = 277
|
||||
SYS_GETRANDOM = 278
|
||||
SYS_MEMFD_CREATE = 279
|
||||
SYS_BPF = 280
|
||||
SYS_EXECVEAT = 281
|
||||
SYS_USERFAULTFD = 282
|
||||
SYS_MEMBARRIER = 283
|
||||
SYS_MLOCK2 = 284
|
||||
SYS_COPY_FILE_RANGE = 285
|
||||
SYS_PREADV2 = 286
|
||||
SYS_PWRITEV2 = 287
|
||||
SYS_PKEY_MPROTECT = 288
|
||||
SYS_PKEY_ALLOC = 289
|
||||
SYS_PKEY_FREE = 290
|
||||
SYS_STATX = 291
|
||||
SYS_IO_PGETEVENTS = 292
|
||||
SYS_RSEQ = 293
|
||||
SYS_KEXEC_FILE_LOAD = 294
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
|
|
@ -424,4 +424,7 @@ const (
|
|||
SYS_PROCESS_MADVISE = 4440
|
||||
SYS_EPOLL_PWAIT2 = 4441
|
||||
SYS_MOUNT_SETATTR = 4442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 4444
|
||||
SYS_LANDLOCK_ADD_RULE = 4445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 4446
|
||||
)
|
||||
|
|
|
|||
697
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
697
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
|
|
@ -7,351 +7,354 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_READ = 5000
|
||||
SYS_WRITE = 5001
|
||||
SYS_OPEN = 5002
|
||||
SYS_CLOSE = 5003
|
||||
SYS_STAT = 5004
|
||||
SYS_FSTAT = 5005
|
||||
SYS_LSTAT = 5006
|
||||
SYS_POLL = 5007
|
||||
SYS_LSEEK = 5008
|
||||
SYS_MMAP = 5009
|
||||
SYS_MPROTECT = 5010
|
||||
SYS_MUNMAP = 5011
|
||||
SYS_BRK = 5012
|
||||
SYS_RT_SIGACTION = 5013
|
||||
SYS_RT_SIGPROCMASK = 5014
|
||||
SYS_IOCTL = 5015
|
||||
SYS_PREAD64 = 5016
|
||||
SYS_PWRITE64 = 5017
|
||||
SYS_READV = 5018
|
||||
SYS_WRITEV = 5019
|
||||
SYS_ACCESS = 5020
|
||||
SYS_PIPE = 5021
|
||||
SYS__NEWSELECT = 5022
|
||||
SYS_SCHED_YIELD = 5023
|
||||
SYS_MREMAP = 5024
|
||||
SYS_MSYNC = 5025
|
||||
SYS_MINCORE = 5026
|
||||
SYS_MADVISE = 5027
|
||||
SYS_SHMGET = 5028
|
||||
SYS_SHMAT = 5029
|
||||
SYS_SHMCTL = 5030
|
||||
SYS_DUP = 5031
|
||||
SYS_DUP2 = 5032
|
||||
SYS_PAUSE = 5033
|
||||
SYS_NANOSLEEP = 5034
|
||||
SYS_GETITIMER = 5035
|
||||
SYS_SETITIMER = 5036
|
||||
SYS_ALARM = 5037
|
||||
SYS_GETPID = 5038
|
||||
SYS_SENDFILE = 5039
|
||||
SYS_SOCKET = 5040
|
||||
SYS_CONNECT = 5041
|
||||
SYS_ACCEPT = 5042
|
||||
SYS_SENDTO = 5043
|
||||
SYS_RECVFROM = 5044
|
||||
SYS_SENDMSG = 5045
|
||||
SYS_RECVMSG = 5046
|
||||
SYS_SHUTDOWN = 5047
|
||||
SYS_BIND = 5048
|
||||
SYS_LISTEN = 5049
|
||||
SYS_GETSOCKNAME = 5050
|
||||
SYS_GETPEERNAME = 5051
|
||||
SYS_SOCKETPAIR = 5052
|
||||
SYS_SETSOCKOPT = 5053
|
||||
SYS_GETSOCKOPT = 5054
|
||||
SYS_CLONE = 5055
|
||||
SYS_FORK = 5056
|
||||
SYS_EXECVE = 5057
|
||||
SYS_EXIT = 5058
|
||||
SYS_WAIT4 = 5059
|
||||
SYS_KILL = 5060
|
||||
SYS_UNAME = 5061
|
||||
SYS_SEMGET = 5062
|
||||
SYS_SEMOP = 5063
|
||||
SYS_SEMCTL = 5064
|
||||
SYS_SHMDT = 5065
|
||||
SYS_MSGGET = 5066
|
||||
SYS_MSGSND = 5067
|
||||
SYS_MSGRCV = 5068
|
||||
SYS_MSGCTL = 5069
|
||||
SYS_FCNTL = 5070
|
||||
SYS_FLOCK = 5071
|
||||
SYS_FSYNC = 5072
|
||||
SYS_FDATASYNC = 5073
|
||||
SYS_TRUNCATE = 5074
|
||||
SYS_FTRUNCATE = 5075
|
||||
SYS_GETDENTS = 5076
|
||||
SYS_GETCWD = 5077
|
||||
SYS_CHDIR = 5078
|
||||
SYS_FCHDIR = 5079
|
||||
SYS_RENAME = 5080
|
||||
SYS_MKDIR = 5081
|
||||
SYS_RMDIR = 5082
|
||||
SYS_CREAT = 5083
|
||||
SYS_LINK = 5084
|
||||
SYS_UNLINK = 5085
|
||||
SYS_SYMLINK = 5086
|
||||
SYS_READLINK = 5087
|
||||
SYS_CHMOD = 5088
|
||||
SYS_FCHMOD = 5089
|
||||
SYS_CHOWN = 5090
|
||||
SYS_FCHOWN = 5091
|
||||
SYS_LCHOWN = 5092
|
||||
SYS_UMASK = 5093
|
||||
SYS_GETTIMEOFDAY = 5094
|
||||
SYS_GETRLIMIT = 5095
|
||||
SYS_GETRUSAGE = 5096
|
||||
SYS_SYSINFO = 5097
|
||||
SYS_TIMES = 5098
|
||||
SYS_PTRACE = 5099
|
||||
SYS_GETUID = 5100
|
||||
SYS_SYSLOG = 5101
|
||||
SYS_GETGID = 5102
|
||||
SYS_SETUID = 5103
|
||||
SYS_SETGID = 5104
|
||||
SYS_GETEUID = 5105
|
||||
SYS_GETEGID = 5106
|
||||
SYS_SETPGID = 5107
|
||||
SYS_GETPPID = 5108
|
||||
SYS_GETPGRP = 5109
|
||||
SYS_SETSID = 5110
|
||||
SYS_SETREUID = 5111
|
||||
SYS_SETREGID = 5112
|
||||
SYS_GETGROUPS = 5113
|
||||
SYS_SETGROUPS = 5114
|
||||
SYS_SETRESUID = 5115
|
||||
SYS_GETRESUID = 5116
|
||||
SYS_SETRESGID = 5117
|
||||
SYS_GETRESGID = 5118
|
||||
SYS_GETPGID = 5119
|
||||
SYS_SETFSUID = 5120
|
||||
SYS_SETFSGID = 5121
|
||||
SYS_GETSID = 5122
|
||||
SYS_CAPGET = 5123
|
||||
SYS_CAPSET = 5124
|
||||
SYS_RT_SIGPENDING = 5125
|
||||
SYS_RT_SIGTIMEDWAIT = 5126
|
||||
SYS_RT_SIGQUEUEINFO = 5127
|
||||
SYS_RT_SIGSUSPEND = 5128
|
||||
SYS_SIGALTSTACK = 5129
|
||||
SYS_UTIME = 5130
|
||||
SYS_MKNOD = 5131
|
||||
SYS_PERSONALITY = 5132
|
||||
SYS_USTAT = 5133
|
||||
SYS_STATFS = 5134
|
||||
SYS_FSTATFS = 5135
|
||||
SYS_SYSFS = 5136
|
||||
SYS_GETPRIORITY = 5137
|
||||
SYS_SETPRIORITY = 5138
|
||||
SYS_SCHED_SETPARAM = 5139
|
||||
SYS_SCHED_GETPARAM = 5140
|
||||
SYS_SCHED_SETSCHEDULER = 5141
|
||||
SYS_SCHED_GETSCHEDULER = 5142
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 5143
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 5144
|
||||
SYS_SCHED_RR_GET_INTERVAL = 5145
|
||||
SYS_MLOCK = 5146
|
||||
SYS_MUNLOCK = 5147
|
||||
SYS_MLOCKALL = 5148
|
||||
SYS_MUNLOCKALL = 5149
|
||||
SYS_VHANGUP = 5150
|
||||
SYS_PIVOT_ROOT = 5151
|
||||
SYS__SYSCTL = 5152
|
||||
SYS_PRCTL = 5153
|
||||
SYS_ADJTIMEX = 5154
|
||||
SYS_SETRLIMIT = 5155
|
||||
SYS_CHROOT = 5156
|
||||
SYS_SYNC = 5157
|
||||
SYS_ACCT = 5158
|
||||
SYS_SETTIMEOFDAY = 5159
|
||||
SYS_MOUNT = 5160
|
||||
SYS_UMOUNT2 = 5161
|
||||
SYS_SWAPON = 5162
|
||||
SYS_SWAPOFF = 5163
|
||||
SYS_REBOOT = 5164
|
||||
SYS_SETHOSTNAME = 5165
|
||||
SYS_SETDOMAINNAME = 5166
|
||||
SYS_CREATE_MODULE = 5167
|
||||
SYS_INIT_MODULE = 5168
|
||||
SYS_DELETE_MODULE = 5169
|
||||
SYS_GET_KERNEL_SYMS = 5170
|
||||
SYS_QUERY_MODULE = 5171
|
||||
SYS_QUOTACTL = 5172
|
||||
SYS_NFSSERVCTL = 5173
|
||||
SYS_GETPMSG = 5174
|
||||
SYS_PUTPMSG = 5175
|
||||
SYS_AFS_SYSCALL = 5176
|
||||
SYS_RESERVED177 = 5177
|
||||
SYS_GETTID = 5178
|
||||
SYS_READAHEAD = 5179
|
||||
SYS_SETXATTR = 5180
|
||||
SYS_LSETXATTR = 5181
|
||||
SYS_FSETXATTR = 5182
|
||||
SYS_GETXATTR = 5183
|
||||
SYS_LGETXATTR = 5184
|
||||
SYS_FGETXATTR = 5185
|
||||
SYS_LISTXATTR = 5186
|
||||
SYS_LLISTXATTR = 5187
|
||||
SYS_FLISTXATTR = 5188
|
||||
SYS_REMOVEXATTR = 5189
|
||||
SYS_LREMOVEXATTR = 5190
|
||||
SYS_FREMOVEXATTR = 5191
|
||||
SYS_TKILL = 5192
|
||||
SYS_RESERVED193 = 5193
|
||||
SYS_FUTEX = 5194
|
||||
SYS_SCHED_SETAFFINITY = 5195
|
||||
SYS_SCHED_GETAFFINITY = 5196
|
||||
SYS_CACHEFLUSH = 5197
|
||||
SYS_CACHECTL = 5198
|
||||
SYS_SYSMIPS = 5199
|
||||
SYS_IO_SETUP = 5200
|
||||
SYS_IO_DESTROY = 5201
|
||||
SYS_IO_GETEVENTS = 5202
|
||||
SYS_IO_SUBMIT = 5203
|
||||
SYS_IO_CANCEL = 5204
|
||||
SYS_EXIT_GROUP = 5205
|
||||
SYS_LOOKUP_DCOOKIE = 5206
|
||||
SYS_EPOLL_CREATE = 5207
|
||||
SYS_EPOLL_CTL = 5208
|
||||
SYS_EPOLL_WAIT = 5209
|
||||
SYS_REMAP_FILE_PAGES = 5210
|
||||
SYS_RT_SIGRETURN = 5211
|
||||
SYS_SET_TID_ADDRESS = 5212
|
||||
SYS_RESTART_SYSCALL = 5213
|
||||
SYS_SEMTIMEDOP = 5214
|
||||
SYS_FADVISE64 = 5215
|
||||
SYS_TIMER_CREATE = 5216
|
||||
SYS_TIMER_SETTIME = 5217
|
||||
SYS_TIMER_GETTIME = 5218
|
||||
SYS_TIMER_GETOVERRUN = 5219
|
||||
SYS_TIMER_DELETE = 5220
|
||||
SYS_CLOCK_SETTIME = 5221
|
||||
SYS_CLOCK_GETTIME = 5222
|
||||
SYS_CLOCK_GETRES = 5223
|
||||
SYS_CLOCK_NANOSLEEP = 5224
|
||||
SYS_TGKILL = 5225
|
||||
SYS_UTIMES = 5226
|
||||
SYS_MBIND = 5227
|
||||
SYS_GET_MEMPOLICY = 5228
|
||||
SYS_SET_MEMPOLICY = 5229
|
||||
SYS_MQ_OPEN = 5230
|
||||
SYS_MQ_UNLINK = 5231
|
||||
SYS_MQ_TIMEDSEND = 5232
|
||||
SYS_MQ_TIMEDRECEIVE = 5233
|
||||
SYS_MQ_NOTIFY = 5234
|
||||
SYS_MQ_GETSETATTR = 5235
|
||||
SYS_VSERVER = 5236
|
||||
SYS_WAITID = 5237
|
||||
SYS_ADD_KEY = 5239
|
||||
SYS_REQUEST_KEY = 5240
|
||||
SYS_KEYCTL = 5241
|
||||
SYS_SET_THREAD_AREA = 5242
|
||||
SYS_INOTIFY_INIT = 5243
|
||||
SYS_INOTIFY_ADD_WATCH = 5244
|
||||
SYS_INOTIFY_RM_WATCH = 5245
|
||||
SYS_MIGRATE_PAGES = 5246
|
||||
SYS_OPENAT = 5247
|
||||
SYS_MKDIRAT = 5248
|
||||
SYS_MKNODAT = 5249
|
||||
SYS_FCHOWNAT = 5250
|
||||
SYS_FUTIMESAT = 5251
|
||||
SYS_NEWFSTATAT = 5252
|
||||
SYS_UNLINKAT = 5253
|
||||
SYS_RENAMEAT = 5254
|
||||
SYS_LINKAT = 5255
|
||||
SYS_SYMLINKAT = 5256
|
||||
SYS_READLINKAT = 5257
|
||||
SYS_FCHMODAT = 5258
|
||||
SYS_FACCESSAT = 5259
|
||||
SYS_PSELECT6 = 5260
|
||||
SYS_PPOLL = 5261
|
||||
SYS_UNSHARE = 5262
|
||||
SYS_SPLICE = 5263
|
||||
SYS_SYNC_FILE_RANGE = 5264
|
||||
SYS_TEE = 5265
|
||||
SYS_VMSPLICE = 5266
|
||||
SYS_MOVE_PAGES = 5267
|
||||
SYS_SET_ROBUST_LIST = 5268
|
||||
SYS_GET_ROBUST_LIST = 5269
|
||||
SYS_KEXEC_LOAD = 5270
|
||||
SYS_GETCPU = 5271
|
||||
SYS_EPOLL_PWAIT = 5272
|
||||
SYS_IOPRIO_SET = 5273
|
||||
SYS_IOPRIO_GET = 5274
|
||||
SYS_UTIMENSAT = 5275
|
||||
SYS_SIGNALFD = 5276
|
||||
SYS_TIMERFD = 5277
|
||||
SYS_EVENTFD = 5278
|
||||
SYS_FALLOCATE = 5279
|
||||
SYS_TIMERFD_CREATE = 5280
|
||||
SYS_TIMERFD_GETTIME = 5281
|
||||
SYS_TIMERFD_SETTIME = 5282
|
||||
SYS_SIGNALFD4 = 5283
|
||||
SYS_EVENTFD2 = 5284
|
||||
SYS_EPOLL_CREATE1 = 5285
|
||||
SYS_DUP3 = 5286
|
||||
SYS_PIPE2 = 5287
|
||||
SYS_INOTIFY_INIT1 = 5288
|
||||
SYS_PREADV = 5289
|
||||
SYS_PWRITEV = 5290
|
||||
SYS_RT_TGSIGQUEUEINFO = 5291
|
||||
SYS_PERF_EVENT_OPEN = 5292
|
||||
SYS_ACCEPT4 = 5293
|
||||
SYS_RECVMMSG = 5294
|
||||
SYS_FANOTIFY_INIT = 5295
|
||||
SYS_FANOTIFY_MARK = 5296
|
||||
SYS_PRLIMIT64 = 5297
|
||||
SYS_NAME_TO_HANDLE_AT = 5298
|
||||
SYS_OPEN_BY_HANDLE_AT = 5299
|
||||
SYS_CLOCK_ADJTIME = 5300
|
||||
SYS_SYNCFS = 5301
|
||||
SYS_SENDMMSG = 5302
|
||||
SYS_SETNS = 5303
|
||||
SYS_PROCESS_VM_READV = 5304
|
||||
SYS_PROCESS_VM_WRITEV = 5305
|
||||
SYS_KCMP = 5306
|
||||
SYS_FINIT_MODULE = 5307
|
||||
SYS_GETDENTS64 = 5308
|
||||
SYS_SCHED_SETATTR = 5309
|
||||
SYS_SCHED_GETATTR = 5310
|
||||
SYS_RENAMEAT2 = 5311
|
||||
SYS_SECCOMP = 5312
|
||||
SYS_GETRANDOM = 5313
|
||||
SYS_MEMFD_CREATE = 5314
|
||||
SYS_BPF = 5315
|
||||
SYS_EXECVEAT = 5316
|
||||
SYS_USERFAULTFD = 5317
|
||||
SYS_MEMBARRIER = 5318
|
||||
SYS_MLOCK2 = 5319
|
||||
SYS_COPY_FILE_RANGE = 5320
|
||||
SYS_PREADV2 = 5321
|
||||
SYS_PWRITEV2 = 5322
|
||||
SYS_PKEY_MPROTECT = 5323
|
||||
SYS_PKEY_ALLOC = 5324
|
||||
SYS_PKEY_FREE = 5325
|
||||
SYS_STATX = 5326
|
||||
SYS_RSEQ = 5327
|
||||
SYS_IO_PGETEVENTS = 5328
|
||||
SYS_PIDFD_SEND_SIGNAL = 5424
|
||||
SYS_IO_URING_SETUP = 5425
|
||||
SYS_IO_URING_ENTER = 5426
|
||||
SYS_IO_URING_REGISTER = 5427
|
||||
SYS_OPEN_TREE = 5428
|
||||
SYS_MOVE_MOUNT = 5429
|
||||
SYS_FSOPEN = 5430
|
||||
SYS_FSCONFIG = 5431
|
||||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
SYS_CLOSE_RANGE = 5436
|
||||
SYS_OPENAT2 = 5437
|
||||
SYS_PIDFD_GETFD = 5438
|
||||
SYS_FACCESSAT2 = 5439
|
||||
SYS_PROCESS_MADVISE = 5440
|
||||
SYS_EPOLL_PWAIT2 = 5441
|
||||
SYS_MOUNT_SETATTR = 5442
|
||||
SYS_READ = 5000
|
||||
SYS_WRITE = 5001
|
||||
SYS_OPEN = 5002
|
||||
SYS_CLOSE = 5003
|
||||
SYS_STAT = 5004
|
||||
SYS_FSTAT = 5005
|
||||
SYS_LSTAT = 5006
|
||||
SYS_POLL = 5007
|
||||
SYS_LSEEK = 5008
|
||||
SYS_MMAP = 5009
|
||||
SYS_MPROTECT = 5010
|
||||
SYS_MUNMAP = 5011
|
||||
SYS_BRK = 5012
|
||||
SYS_RT_SIGACTION = 5013
|
||||
SYS_RT_SIGPROCMASK = 5014
|
||||
SYS_IOCTL = 5015
|
||||
SYS_PREAD64 = 5016
|
||||
SYS_PWRITE64 = 5017
|
||||
SYS_READV = 5018
|
||||
SYS_WRITEV = 5019
|
||||
SYS_ACCESS = 5020
|
||||
SYS_PIPE = 5021
|
||||
SYS__NEWSELECT = 5022
|
||||
SYS_SCHED_YIELD = 5023
|
||||
SYS_MREMAP = 5024
|
||||
SYS_MSYNC = 5025
|
||||
SYS_MINCORE = 5026
|
||||
SYS_MADVISE = 5027
|
||||
SYS_SHMGET = 5028
|
||||
SYS_SHMAT = 5029
|
||||
SYS_SHMCTL = 5030
|
||||
SYS_DUP = 5031
|
||||
SYS_DUP2 = 5032
|
||||
SYS_PAUSE = 5033
|
||||
SYS_NANOSLEEP = 5034
|
||||
SYS_GETITIMER = 5035
|
||||
SYS_SETITIMER = 5036
|
||||
SYS_ALARM = 5037
|
||||
SYS_GETPID = 5038
|
||||
SYS_SENDFILE = 5039
|
||||
SYS_SOCKET = 5040
|
||||
SYS_CONNECT = 5041
|
||||
SYS_ACCEPT = 5042
|
||||
SYS_SENDTO = 5043
|
||||
SYS_RECVFROM = 5044
|
||||
SYS_SENDMSG = 5045
|
||||
SYS_RECVMSG = 5046
|
||||
SYS_SHUTDOWN = 5047
|
||||
SYS_BIND = 5048
|
||||
SYS_LISTEN = 5049
|
||||
SYS_GETSOCKNAME = 5050
|
||||
SYS_GETPEERNAME = 5051
|
||||
SYS_SOCKETPAIR = 5052
|
||||
SYS_SETSOCKOPT = 5053
|
||||
SYS_GETSOCKOPT = 5054
|
||||
SYS_CLONE = 5055
|
||||
SYS_FORK = 5056
|
||||
SYS_EXECVE = 5057
|
||||
SYS_EXIT = 5058
|
||||
SYS_WAIT4 = 5059
|
||||
SYS_KILL = 5060
|
||||
SYS_UNAME = 5061
|
||||
SYS_SEMGET = 5062
|
||||
SYS_SEMOP = 5063
|
||||
SYS_SEMCTL = 5064
|
||||
SYS_SHMDT = 5065
|
||||
SYS_MSGGET = 5066
|
||||
SYS_MSGSND = 5067
|
||||
SYS_MSGRCV = 5068
|
||||
SYS_MSGCTL = 5069
|
||||
SYS_FCNTL = 5070
|
||||
SYS_FLOCK = 5071
|
||||
SYS_FSYNC = 5072
|
||||
SYS_FDATASYNC = 5073
|
||||
SYS_TRUNCATE = 5074
|
||||
SYS_FTRUNCATE = 5075
|
||||
SYS_GETDENTS = 5076
|
||||
SYS_GETCWD = 5077
|
||||
SYS_CHDIR = 5078
|
||||
SYS_FCHDIR = 5079
|
||||
SYS_RENAME = 5080
|
||||
SYS_MKDIR = 5081
|
||||
SYS_RMDIR = 5082
|
||||
SYS_CREAT = 5083
|
||||
SYS_LINK = 5084
|
||||
SYS_UNLINK = 5085
|
||||
SYS_SYMLINK = 5086
|
||||
SYS_READLINK = 5087
|
||||
SYS_CHMOD = 5088
|
||||
SYS_FCHMOD = 5089
|
||||
SYS_CHOWN = 5090
|
||||
SYS_FCHOWN = 5091
|
||||
SYS_LCHOWN = 5092
|
||||
SYS_UMASK = 5093
|
||||
SYS_GETTIMEOFDAY = 5094
|
||||
SYS_GETRLIMIT = 5095
|
||||
SYS_GETRUSAGE = 5096
|
||||
SYS_SYSINFO = 5097
|
||||
SYS_TIMES = 5098
|
||||
SYS_PTRACE = 5099
|
||||
SYS_GETUID = 5100
|
||||
SYS_SYSLOG = 5101
|
||||
SYS_GETGID = 5102
|
||||
SYS_SETUID = 5103
|
||||
SYS_SETGID = 5104
|
||||
SYS_GETEUID = 5105
|
||||
SYS_GETEGID = 5106
|
||||
SYS_SETPGID = 5107
|
||||
SYS_GETPPID = 5108
|
||||
SYS_GETPGRP = 5109
|
||||
SYS_SETSID = 5110
|
||||
SYS_SETREUID = 5111
|
||||
SYS_SETREGID = 5112
|
||||
SYS_GETGROUPS = 5113
|
||||
SYS_SETGROUPS = 5114
|
||||
SYS_SETRESUID = 5115
|
||||
SYS_GETRESUID = 5116
|
||||
SYS_SETRESGID = 5117
|
||||
SYS_GETRESGID = 5118
|
||||
SYS_GETPGID = 5119
|
||||
SYS_SETFSUID = 5120
|
||||
SYS_SETFSGID = 5121
|
||||
SYS_GETSID = 5122
|
||||
SYS_CAPGET = 5123
|
||||
SYS_CAPSET = 5124
|
||||
SYS_RT_SIGPENDING = 5125
|
||||
SYS_RT_SIGTIMEDWAIT = 5126
|
||||
SYS_RT_SIGQUEUEINFO = 5127
|
||||
SYS_RT_SIGSUSPEND = 5128
|
||||
SYS_SIGALTSTACK = 5129
|
||||
SYS_UTIME = 5130
|
||||
SYS_MKNOD = 5131
|
||||
SYS_PERSONALITY = 5132
|
||||
SYS_USTAT = 5133
|
||||
SYS_STATFS = 5134
|
||||
SYS_FSTATFS = 5135
|
||||
SYS_SYSFS = 5136
|
||||
SYS_GETPRIORITY = 5137
|
||||
SYS_SETPRIORITY = 5138
|
||||
SYS_SCHED_SETPARAM = 5139
|
||||
SYS_SCHED_GETPARAM = 5140
|
||||
SYS_SCHED_SETSCHEDULER = 5141
|
||||
SYS_SCHED_GETSCHEDULER = 5142
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 5143
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 5144
|
||||
SYS_SCHED_RR_GET_INTERVAL = 5145
|
||||
SYS_MLOCK = 5146
|
||||
SYS_MUNLOCK = 5147
|
||||
SYS_MLOCKALL = 5148
|
||||
SYS_MUNLOCKALL = 5149
|
||||
SYS_VHANGUP = 5150
|
||||
SYS_PIVOT_ROOT = 5151
|
||||
SYS__SYSCTL = 5152
|
||||
SYS_PRCTL = 5153
|
||||
SYS_ADJTIMEX = 5154
|
||||
SYS_SETRLIMIT = 5155
|
||||
SYS_CHROOT = 5156
|
||||
SYS_SYNC = 5157
|
||||
SYS_ACCT = 5158
|
||||
SYS_SETTIMEOFDAY = 5159
|
||||
SYS_MOUNT = 5160
|
||||
SYS_UMOUNT2 = 5161
|
||||
SYS_SWAPON = 5162
|
||||
SYS_SWAPOFF = 5163
|
||||
SYS_REBOOT = 5164
|
||||
SYS_SETHOSTNAME = 5165
|
||||
SYS_SETDOMAINNAME = 5166
|
||||
SYS_CREATE_MODULE = 5167
|
||||
SYS_INIT_MODULE = 5168
|
||||
SYS_DELETE_MODULE = 5169
|
||||
SYS_GET_KERNEL_SYMS = 5170
|
||||
SYS_QUERY_MODULE = 5171
|
||||
SYS_QUOTACTL = 5172
|
||||
SYS_NFSSERVCTL = 5173
|
||||
SYS_GETPMSG = 5174
|
||||
SYS_PUTPMSG = 5175
|
||||
SYS_AFS_SYSCALL = 5176
|
||||
SYS_RESERVED177 = 5177
|
||||
SYS_GETTID = 5178
|
||||
SYS_READAHEAD = 5179
|
||||
SYS_SETXATTR = 5180
|
||||
SYS_LSETXATTR = 5181
|
||||
SYS_FSETXATTR = 5182
|
||||
SYS_GETXATTR = 5183
|
||||
SYS_LGETXATTR = 5184
|
||||
SYS_FGETXATTR = 5185
|
||||
SYS_LISTXATTR = 5186
|
||||
SYS_LLISTXATTR = 5187
|
||||
SYS_FLISTXATTR = 5188
|
||||
SYS_REMOVEXATTR = 5189
|
||||
SYS_LREMOVEXATTR = 5190
|
||||
SYS_FREMOVEXATTR = 5191
|
||||
SYS_TKILL = 5192
|
||||
SYS_RESERVED193 = 5193
|
||||
SYS_FUTEX = 5194
|
||||
SYS_SCHED_SETAFFINITY = 5195
|
||||
SYS_SCHED_GETAFFINITY = 5196
|
||||
SYS_CACHEFLUSH = 5197
|
||||
SYS_CACHECTL = 5198
|
||||
SYS_SYSMIPS = 5199
|
||||
SYS_IO_SETUP = 5200
|
||||
SYS_IO_DESTROY = 5201
|
||||
SYS_IO_GETEVENTS = 5202
|
||||
SYS_IO_SUBMIT = 5203
|
||||
SYS_IO_CANCEL = 5204
|
||||
SYS_EXIT_GROUP = 5205
|
||||
SYS_LOOKUP_DCOOKIE = 5206
|
||||
SYS_EPOLL_CREATE = 5207
|
||||
SYS_EPOLL_CTL = 5208
|
||||
SYS_EPOLL_WAIT = 5209
|
||||
SYS_REMAP_FILE_PAGES = 5210
|
||||
SYS_RT_SIGRETURN = 5211
|
||||
SYS_SET_TID_ADDRESS = 5212
|
||||
SYS_RESTART_SYSCALL = 5213
|
||||
SYS_SEMTIMEDOP = 5214
|
||||
SYS_FADVISE64 = 5215
|
||||
SYS_TIMER_CREATE = 5216
|
||||
SYS_TIMER_SETTIME = 5217
|
||||
SYS_TIMER_GETTIME = 5218
|
||||
SYS_TIMER_GETOVERRUN = 5219
|
||||
SYS_TIMER_DELETE = 5220
|
||||
SYS_CLOCK_SETTIME = 5221
|
||||
SYS_CLOCK_GETTIME = 5222
|
||||
SYS_CLOCK_GETRES = 5223
|
||||
SYS_CLOCK_NANOSLEEP = 5224
|
||||
SYS_TGKILL = 5225
|
||||
SYS_UTIMES = 5226
|
||||
SYS_MBIND = 5227
|
||||
SYS_GET_MEMPOLICY = 5228
|
||||
SYS_SET_MEMPOLICY = 5229
|
||||
SYS_MQ_OPEN = 5230
|
||||
SYS_MQ_UNLINK = 5231
|
||||
SYS_MQ_TIMEDSEND = 5232
|
||||
SYS_MQ_TIMEDRECEIVE = 5233
|
||||
SYS_MQ_NOTIFY = 5234
|
||||
SYS_MQ_GETSETATTR = 5235
|
||||
SYS_VSERVER = 5236
|
||||
SYS_WAITID = 5237
|
||||
SYS_ADD_KEY = 5239
|
||||
SYS_REQUEST_KEY = 5240
|
||||
SYS_KEYCTL = 5241
|
||||
SYS_SET_THREAD_AREA = 5242
|
||||
SYS_INOTIFY_INIT = 5243
|
||||
SYS_INOTIFY_ADD_WATCH = 5244
|
||||
SYS_INOTIFY_RM_WATCH = 5245
|
||||
SYS_MIGRATE_PAGES = 5246
|
||||
SYS_OPENAT = 5247
|
||||
SYS_MKDIRAT = 5248
|
||||
SYS_MKNODAT = 5249
|
||||
SYS_FCHOWNAT = 5250
|
||||
SYS_FUTIMESAT = 5251
|
||||
SYS_NEWFSTATAT = 5252
|
||||
SYS_UNLINKAT = 5253
|
||||
SYS_RENAMEAT = 5254
|
||||
SYS_LINKAT = 5255
|
||||
SYS_SYMLINKAT = 5256
|
||||
SYS_READLINKAT = 5257
|
||||
SYS_FCHMODAT = 5258
|
||||
SYS_FACCESSAT = 5259
|
||||
SYS_PSELECT6 = 5260
|
||||
SYS_PPOLL = 5261
|
||||
SYS_UNSHARE = 5262
|
||||
SYS_SPLICE = 5263
|
||||
SYS_SYNC_FILE_RANGE = 5264
|
||||
SYS_TEE = 5265
|
||||
SYS_VMSPLICE = 5266
|
||||
SYS_MOVE_PAGES = 5267
|
||||
SYS_SET_ROBUST_LIST = 5268
|
||||
SYS_GET_ROBUST_LIST = 5269
|
||||
SYS_KEXEC_LOAD = 5270
|
||||
SYS_GETCPU = 5271
|
||||
SYS_EPOLL_PWAIT = 5272
|
||||
SYS_IOPRIO_SET = 5273
|
||||
SYS_IOPRIO_GET = 5274
|
||||
SYS_UTIMENSAT = 5275
|
||||
SYS_SIGNALFD = 5276
|
||||
SYS_TIMERFD = 5277
|
||||
SYS_EVENTFD = 5278
|
||||
SYS_FALLOCATE = 5279
|
||||
SYS_TIMERFD_CREATE = 5280
|
||||
SYS_TIMERFD_GETTIME = 5281
|
||||
SYS_TIMERFD_SETTIME = 5282
|
||||
SYS_SIGNALFD4 = 5283
|
||||
SYS_EVENTFD2 = 5284
|
||||
SYS_EPOLL_CREATE1 = 5285
|
||||
SYS_DUP3 = 5286
|
||||
SYS_PIPE2 = 5287
|
||||
SYS_INOTIFY_INIT1 = 5288
|
||||
SYS_PREADV = 5289
|
||||
SYS_PWRITEV = 5290
|
||||
SYS_RT_TGSIGQUEUEINFO = 5291
|
||||
SYS_PERF_EVENT_OPEN = 5292
|
||||
SYS_ACCEPT4 = 5293
|
||||
SYS_RECVMMSG = 5294
|
||||
SYS_FANOTIFY_INIT = 5295
|
||||
SYS_FANOTIFY_MARK = 5296
|
||||
SYS_PRLIMIT64 = 5297
|
||||
SYS_NAME_TO_HANDLE_AT = 5298
|
||||
SYS_OPEN_BY_HANDLE_AT = 5299
|
||||
SYS_CLOCK_ADJTIME = 5300
|
||||
SYS_SYNCFS = 5301
|
||||
SYS_SENDMMSG = 5302
|
||||
SYS_SETNS = 5303
|
||||
SYS_PROCESS_VM_READV = 5304
|
||||
SYS_PROCESS_VM_WRITEV = 5305
|
||||
SYS_KCMP = 5306
|
||||
SYS_FINIT_MODULE = 5307
|
||||
SYS_GETDENTS64 = 5308
|
||||
SYS_SCHED_SETATTR = 5309
|
||||
SYS_SCHED_GETATTR = 5310
|
||||
SYS_RENAMEAT2 = 5311
|
||||
SYS_SECCOMP = 5312
|
||||
SYS_GETRANDOM = 5313
|
||||
SYS_MEMFD_CREATE = 5314
|
||||
SYS_BPF = 5315
|
||||
SYS_EXECVEAT = 5316
|
||||
SYS_USERFAULTFD = 5317
|
||||
SYS_MEMBARRIER = 5318
|
||||
SYS_MLOCK2 = 5319
|
||||
SYS_COPY_FILE_RANGE = 5320
|
||||
SYS_PREADV2 = 5321
|
||||
SYS_PWRITEV2 = 5322
|
||||
SYS_PKEY_MPROTECT = 5323
|
||||
SYS_PKEY_ALLOC = 5324
|
||||
SYS_PKEY_FREE = 5325
|
||||
SYS_STATX = 5326
|
||||
SYS_RSEQ = 5327
|
||||
SYS_IO_PGETEVENTS = 5328
|
||||
SYS_PIDFD_SEND_SIGNAL = 5424
|
||||
SYS_IO_URING_SETUP = 5425
|
||||
SYS_IO_URING_ENTER = 5426
|
||||
SYS_IO_URING_REGISTER = 5427
|
||||
SYS_OPEN_TREE = 5428
|
||||
SYS_MOVE_MOUNT = 5429
|
||||
SYS_FSOPEN = 5430
|
||||
SYS_FSCONFIG = 5431
|
||||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
SYS_CLOSE_RANGE = 5436
|
||||
SYS_OPENAT2 = 5437
|
||||
SYS_PIDFD_GETFD = 5438
|
||||
SYS_FACCESSAT2 = 5439
|
||||
SYS_PROCESS_MADVISE = 5440
|
||||
SYS_EPOLL_PWAIT2 = 5441
|
||||
SYS_MOUNT_SETATTR = 5442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 5444
|
||||
SYS_LANDLOCK_ADD_RULE = 5445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 5446
|
||||
)
|
||||
|
|
|
|||
697
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
697
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
|
|
@ -7,351 +7,354 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_READ = 5000
|
||||
SYS_WRITE = 5001
|
||||
SYS_OPEN = 5002
|
||||
SYS_CLOSE = 5003
|
||||
SYS_STAT = 5004
|
||||
SYS_FSTAT = 5005
|
||||
SYS_LSTAT = 5006
|
||||
SYS_POLL = 5007
|
||||
SYS_LSEEK = 5008
|
||||
SYS_MMAP = 5009
|
||||
SYS_MPROTECT = 5010
|
||||
SYS_MUNMAP = 5011
|
||||
SYS_BRK = 5012
|
||||
SYS_RT_SIGACTION = 5013
|
||||
SYS_RT_SIGPROCMASK = 5014
|
||||
SYS_IOCTL = 5015
|
||||
SYS_PREAD64 = 5016
|
||||
SYS_PWRITE64 = 5017
|
||||
SYS_READV = 5018
|
||||
SYS_WRITEV = 5019
|
||||
SYS_ACCESS = 5020
|
||||
SYS_PIPE = 5021
|
||||
SYS__NEWSELECT = 5022
|
||||
SYS_SCHED_YIELD = 5023
|
||||
SYS_MREMAP = 5024
|
||||
SYS_MSYNC = 5025
|
||||
SYS_MINCORE = 5026
|
||||
SYS_MADVISE = 5027
|
||||
SYS_SHMGET = 5028
|
||||
SYS_SHMAT = 5029
|
||||
SYS_SHMCTL = 5030
|
||||
SYS_DUP = 5031
|
||||
SYS_DUP2 = 5032
|
||||
SYS_PAUSE = 5033
|
||||
SYS_NANOSLEEP = 5034
|
||||
SYS_GETITIMER = 5035
|
||||
SYS_SETITIMER = 5036
|
||||
SYS_ALARM = 5037
|
||||
SYS_GETPID = 5038
|
||||
SYS_SENDFILE = 5039
|
||||
SYS_SOCKET = 5040
|
||||
SYS_CONNECT = 5041
|
||||
SYS_ACCEPT = 5042
|
||||
SYS_SENDTO = 5043
|
||||
SYS_RECVFROM = 5044
|
||||
SYS_SENDMSG = 5045
|
||||
SYS_RECVMSG = 5046
|
||||
SYS_SHUTDOWN = 5047
|
||||
SYS_BIND = 5048
|
||||
SYS_LISTEN = 5049
|
||||
SYS_GETSOCKNAME = 5050
|
||||
SYS_GETPEERNAME = 5051
|
||||
SYS_SOCKETPAIR = 5052
|
||||
SYS_SETSOCKOPT = 5053
|
||||
SYS_GETSOCKOPT = 5054
|
||||
SYS_CLONE = 5055
|
||||
SYS_FORK = 5056
|
||||
SYS_EXECVE = 5057
|
||||
SYS_EXIT = 5058
|
||||
SYS_WAIT4 = 5059
|
||||
SYS_KILL = 5060
|
||||
SYS_UNAME = 5061
|
||||
SYS_SEMGET = 5062
|
||||
SYS_SEMOP = 5063
|
||||
SYS_SEMCTL = 5064
|
||||
SYS_SHMDT = 5065
|
||||
SYS_MSGGET = 5066
|
||||
SYS_MSGSND = 5067
|
||||
SYS_MSGRCV = 5068
|
||||
SYS_MSGCTL = 5069
|
||||
SYS_FCNTL = 5070
|
||||
SYS_FLOCK = 5071
|
||||
SYS_FSYNC = 5072
|
||||
SYS_FDATASYNC = 5073
|
||||
SYS_TRUNCATE = 5074
|
||||
SYS_FTRUNCATE = 5075
|
||||
SYS_GETDENTS = 5076
|
||||
SYS_GETCWD = 5077
|
||||
SYS_CHDIR = 5078
|
||||
SYS_FCHDIR = 5079
|
||||
SYS_RENAME = 5080
|
||||
SYS_MKDIR = 5081
|
||||
SYS_RMDIR = 5082
|
||||
SYS_CREAT = 5083
|
||||
SYS_LINK = 5084
|
||||
SYS_UNLINK = 5085
|
||||
SYS_SYMLINK = 5086
|
||||
SYS_READLINK = 5087
|
||||
SYS_CHMOD = 5088
|
||||
SYS_FCHMOD = 5089
|
||||
SYS_CHOWN = 5090
|
||||
SYS_FCHOWN = 5091
|
||||
SYS_LCHOWN = 5092
|
||||
SYS_UMASK = 5093
|
||||
SYS_GETTIMEOFDAY = 5094
|
||||
SYS_GETRLIMIT = 5095
|
||||
SYS_GETRUSAGE = 5096
|
||||
SYS_SYSINFO = 5097
|
||||
SYS_TIMES = 5098
|
||||
SYS_PTRACE = 5099
|
||||
SYS_GETUID = 5100
|
||||
SYS_SYSLOG = 5101
|
||||
SYS_GETGID = 5102
|
||||
SYS_SETUID = 5103
|
||||
SYS_SETGID = 5104
|
||||
SYS_GETEUID = 5105
|
||||
SYS_GETEGID = 5106
|
||||
SYS_SETPGID = 5107
|
||||
SYS_GETPPID = 5108
|
||||
SYS_GETPGRP = 5109
|
||||
SYS_SETSID = 5110
|
||||
SYS_SETREUID = 5111
|
||||
SYS_SETREGID = 5112
|
||||
SYS_GETGROUPS = 5113
|
||||
SYS_SETGROUPS = 5114
|
||||
SYS_SETRESUID = 5115
|
||||
SYS_GETRESUID = 5116
|
||||
SYS_SETRESGID = 5117
|
||||
SYS_GETRESGID = 5118
|
||||
SYS_GETPGID = 5119
|
||||
SYS_SETFSUID = 5120
|
||||
SYS_SETFSGID = 5121
|
||||
SYS_GETSID = 5122
|
||||
SYS_CAPGET = 5123
|
||||
SYS_CAPSET = 5124
|
||||
SYS_RT_SIGPENDING = 5125
|
||||
SYS_RT_SIGTIMEDWAIT = 5126
|
||||
SYS_RT_SIGQUEUEINFO = 5127
|
||||
SYS_RT_SIGSUSPEND = 5128
|
||||
SYS_SIGALTSTACK = 5129
|
||||
SYS_UTIME = 5130
|
||||
SYS_MKNOD = 5131
|
||||
SYS_PERSONALITY = 5132
|
||||
SYS_USTAT = 5133
|
||||
SYS_STATFS = 5134
|
||||
SYS_FSTATFS = 5135
|
||||
SYS_SYSFS = 5136
|
||||
SYS_GETPRIORITY = 5137
|
||||
SYS_SETPRIORITY = 5138
|
||||
SYS_SCHED_SETPARAM = 5139
|
||||
SYS_SCHED_GETPARAM = 5140
|
||||
SYS_SCHED_SETSCHEDULER = 5141
|
||||
SYS_SCHED_GETSCHEDULER = 5142
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 5143
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 5144
|
||||
SYS_SCHED_RR_GET_INTERVAL = 5145
|
||||
SYS_MLOCK = 5146
|
||||
SYS_MUNLOCK = 5147
|
||||
SYS_MLOCKALL = 5148
|
||||
SYS_MUNLOCKALL = 5149
|
||||
SYS_VHANGUP = 5150
|
||||
SYS_PIVOT_ROOT = 5151
|
||||
SYS__SYSCTL = 5152
|
||||
SYS_PRCTL = 5153
|
||||
SYS_ADJTIMEX = 5154
|
||||
SYS_SETRLIMIT = 5155
|
||||
SYS_CHROOT = 5156
|
||||
SYS_SYNC = 5157
|
||||
SYS_ACCT = 5158
|
||||
SYS_SETTIMEOFDAY = 5159
|
||||
SYS_MOUNT = 5160
|
||||
SYS_UMOUNT2 = 5161
|
||||
SYS_SWAPON = 5162
|
||||
SYS_SWAPOFF = 5163
|
||||
SYS_REBOOT = 5164
|
||||
SYS_SETHOSTNAME = 5165
|
||||
SYS_SETDOMAINNAME = 5166
|
||||
SYS_CREATE_MODULE = 5167
|
||||
SYS_INIT_MODULE = 5168
|
||||
SYS_DELETE_MODULE = 5169
|
||||
SYS_GET_KERNEL_SYMS = 5170
|
||||
SYS_QUERY_MODULE = 5171
|
||||
SYS_QUOTACTL = 5172
|
||||
SYS_NFSSERVCTL = 5173
|
||||
SYS_GETPMSG = 5174
|
||||
SYS_PUTPMSG = 5175
|
||||
SYS_AFS_SYSCALL = 5176
|
||||
SYS_RESERVED177 = 5177
|
||||
SYS_GETTID = 5178
|
||||
SYS_READAHEAD = 5179
|
||||
SYS_SETXATTR = 5180
|
||||
SYS_LSETXATTR = 5181
|
||||
SYS_FSETXATTR = 5182
|
||||
SYS_GETXATTR = 5183
|
||||
SYS_LGETXATTR = 5184
|
||||
SYS_FGETXATTR = 5185
|
||||
SYS_LISTXATTR = 5186
|
||||
SYS_LLISTXATTR = 5187
|
||||
SYS_FLISTXATTR = 5188
|
||||
SYS_REMOVEXATTR = 5189
|
||||
SYS_LREMOVEXATTR = 5190
|
||||
SYS_FREMOVEXATTR = 5191
|
||||
SYS_TKILL = 5192
|
||||
SYS_RESERVED193 = 5193
|
||||
SYS_FUTEX = 5194
|
||||
SYS_SCHED_SETAFFINITY = 5195
|
||||
SYS_SCHED_GETAFFINITY = 5196
|
||||
SYS_CACHEFLUSH = 5197
|
||||
SYS_CACHECTL = 5198
|
||||
SYS_SYSMIPS = 5199
|
||||
SYS_IO_SETUP = 5200
|
||||
SYS_IO_DESTROY = 5201
|
||||
SYS_IO_GETEVENTS = 5202
|
||||
SYS_IO_SUBMIT = 5203
|
||||
SYS_IO_CANCEL = 5204
|
||||
SYS_EXIT_GROUP = 5205
|
||||
SYS_LOOKUP_DCOOKIE = 5206
|
||||
SYS_EPOLL_CREATE = 5207
|
||||
SYS_EPOLL_CTL = 5208
|
||||
SYS_EPOLL_WAIT = 5209
|
||||
SYS_REMAP_FILE_PAGES = 5210
|
||||
SYS_RT_SIGRETURN = 5211
|
||||
SYS_SET_TID_ADDRESS = 5212
|
||||
SYS_RESTART_SYSCALL = 5213
|
||||
SYS_SEMTIMEDOP = 5214
|
||||
SYS_FADVISE64 = 5215
|
||||
SYS_TIMER_CREATE = 5216
|
||||
SYS_TIMER_SETTIME = 5217
|
||||
SYS_TIMER_GETTIME = 5218
|
||||
SYS_TIMER_GETOVERRUN = 5219
|
||||
SYS_TIMER_DELETE = 5220
|
||||
SYS_CLOCK_SETTIME = 5221
|
||||
SYS_CLOCK_GETTIME = 5222
|
||||
SYS_CLOCK_GETRES = 5223
|
||||
SYS_CLOCK_NANOSLEEP = 5224
|
||||
SYS_TGKILL = 5225
|
||||
SYS_UTIMES = 5226
|
||||
SYS_MBIND = 5227
|
||||
SYS_GET_MEMPOLICY = 5228
|
||||
SYS_SET_MEMPOLICY = 5229
|
||||
SYS_MQ_OPEN = 5230
|
||||
SYS_MQ_UNLINK = 5231
|
||||
SYS_MQ_TIMEDSEND = 5232
|
||||
SYS_MQ_TIMEDRECEIVE = 5233
|
||||
SYS_MQ_NOTIFY = 5234
|
||||
SYS_MQ_GETSETATTR = 5235
|
||||
SYS_VSERVER = 5236
|
||||
SYS_WAITID = 5237
|
||||
SYS_ADD_KEY = 5239
|
||||
SYS_REQUEST_KEY = 5240
|
||||
SYS_KEYCTL = 5241
|
||||
SYS_SET_THREAD_AREA = 5242
|
||||
SYS_INOTIFY_INIT = 5243
|
||||
SYS_INOTIFY_ADD_WATCH = 5244
|
||||
SYS_INOTIFY_RM_WATCH = 5245
|
||||
SYS_MIGRATE_PAGES = 5246
|
||||
SYS_OPENAT = 5247
|
||||
SYS_MKDIRAT = 5248
|
||||
SYS_MKNODAT = 5249
|
||||
SYS_FCHOWNAT = 5250
|
||||
SYS_FUTIMESAT = 5251
|
||||
SYS_NEWFSTATAT = 5252
|
||||
SYS_UNLINKAT = 5253
|
||||
SYS_RENAMEAT = 5254
|
||||
SYS_LINKAT = 5255
|
||||
SYS_SYMLINKAT = 5256
|
||||
SYS_READLINKAT = 5257
|
||||
SYS_FCHMODAT = 5258
|
||||
SYS_FACCESSAT = 5259
|
||||
SYS_PSELECT6 = 5260
|
||||
SYS_PPOLL = 5261
|
||||
SYS_UNSHARE = 5262
|
||||
SYS_SPLICE = 5263
|
||||
SYS_SYNC_FILE_RANGE = 5264
|
||||
SYS_TEE = 5265
|
||||
SYS_VMSPLICE = 5266
|
||||
SYS_MOVE_PAGES = 5267
|
||||
SYS_SET_ROBUST_LIST = 5268
|
||||
SYS_GET_ROBUST_LIST = 5269
|
||||
SYS_KEXEC_LOAD = 5270
|
||||
SYS_GETCPU = 5271
|
||||
SYS_EPOLL_PWAIT = 5272
|
||||
SYS_IOPRIO_SET = 5273
|
||||
SYS_IOPRIO_GET = 5274
|
||||
SYS_UTIMENSAT = 5275
|
||||
SYS_SIGNALFD = 5276
|
||||
SYS_TIMERFD = 5277
|
||||
SYS_EVENTFD = 5278
|
||||
SYS_FALLOCATE = 5279
|
||||
SYS_TIMERFD_CREATE = 5280
|
||||
SYS_TIMERFD_GETTIME = 5281
|
||||
SYS_TIMERFD_SETTIME = 5282
|
||||
SYS_SIGNALFD4 = 5283
|
||||
SYS_EVENTFD2 = 5284
|
||||
SYS_EPOLL_CREATE1 = 5285
|
||||
SYS_DUP3 = 5286
|
||||
SYS_PIPE2 = 5287
|
||||
SYS_INOTIFY_INIT1 = 5288
|
||||
SYS_PREADV = 5289
|
||||
SYS_PWRITEV = 5290
|
||||
SYS_RT_TGSIGQUEUEINFO = 5291
|
||||
SYS_PERF_EVENT_OPEN = 5292
|
||||
SYS_ACCEPT4 = 5293
|
||||
SYS_RECVMMSG = 5294
|
||||
SYS_FANOTIFY_INIT = 5295
|
||||
SYS_FANOTIFY_MARK = 5296
|
||||
SYS_PRLIMIT64 = 5297
|
||||
SYS_NAME_TO_HANDLE_AT = 5298
|
||||
SYS_OPEN_BY_HANDLE_AT = 5299
|
||||
SYS_CLOCK_ADJTIME = 5300
|
||||
SYS_SYNCFS = 5301
|
||||
SYS_SENDMMSG = 5302
|
||||
SYS_SETNS = 5303
|
||||
SYS_PROCESS_VM_READV = 5304
|
||||
SYS_PROCESS_VM_WRITEV = 5305
|
||||
SYS_KCMP = 5306
|
||||
SYS_FINIT_MODULE = 5307
|
||||
SYS_GETDENTS64 = 5308
|
||||
SYS_SCHED_SETATTR = 5309
|
||||
SYS_SCHED_GETATTR = 5310
|
||||
SYS_RENAMEAT2 = 5311
|
||||
SYS_SECCOMP = 5312
|
||||
SYS_GETRANDOM = 5313
|
||||
SYS_MEMFD_CREATE = 5314
|
||||
SYS_BPF = 5315
|
||||
SYS_EXECVEAT = 5316
|
||||
SYS_USERFAULTFD = 5317
|
||||
SYS_MEMBARRIER = 5318
|
||||
SYS_MLOCK2 = 5319
|
||||
SYS_COPY_FILE_RANGE = 5320
|
||||
SYS_PREADV2 = 5321
|
||||
SYS_PWRITEV2 = 5322
|
||||
SYS_PKEY_MPROTECT = 5323
|
||||
SYS_PKEY_ALLOC = 5324
|
||||
SYS_PKEY_FREE = 5325
|
||||
SYS_STATX = 5326
|
||||
SYS_RSEQ = 5327
|
||||
SYS_IO_PGETEVENTS = 5328
|
||||
SYS_PIDFD_SEND_SIGNAL = 5424
|
||||
SYS_IO_URING_SETUP = 5425
|
||||
SYS_IO_URING_ENTER = 5426
|
||||
SYS_IO_URING_REGISTER = 5427
|
||||
SYS_OPEN_TREE = 5428
|
||||
SYS_MOVE_MOUNT = 5429
|
||||
SYS_FSOPEN = 5430
|
||||
SYS_FSCONFIG = 5431
|
||||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
SYS_CLOSE_RANGE = 5436
|
||||
SYS_OPENAT2 = 5437
|
||||
SYS_PIDFD_GETFD = 5438
|
||||
SYS_FACCESSAT2 = 5439
|
||||
SYS_PROCESS_MADVISE = 5440
|
||||
SYS_EPOLL_PWAIT2 = 5441
|
||||
SYS_MOUNT_SETATTR = 5442
|
||||
SYS_READ = 5000
|
||||
SYS_WRITE = 5001
|
||||
SYS_OPEN = 5002
|
||||
SYS_CLOSE = 5003
|
||||
SYS_STAT = 5004
|
||||
SYS_FSTAT = 5005
|
||||
SYS_LSTAT = 5006
|
||||
SYS_POLL = 5007
|
||||
SYS_LSEEK = 5008
|
||||
SYS_MMAP = 5009
|
||||
SYS_MPROTECT = 5010
|
||||
SYS_MUNMAP = 5011
|
||||
SYS_BRK = 5012
|
||||
SYS_RT_SIGACTION = 5013
|
||||
SYS_RT_SIGPROCMASK = 5014
|
||||
SYS_IOCTL = 5015
|
||||
SYS_PREAD64 = 5016
|
||||
SYS_PWRITE64 = 5017
|
||||
SYS_READV = 5018
|
||||
SYS_WRITEV = 5019
|
||||
SYS_ACCESS = 5020
|
||||
SYS_PIPE = 5021
|
||||
SYS__NEWSELECT = 5022
|
||||
SYS_SCHED_YIELD = 5023
|
||||
SYS_MREMAP = 5024
|
||||
SYS_MSYNC = 5025
|
||||
SYS_MINCORE = 5026
|
||||
SYS_MADVISE = 5027
|
||||
SYS_SHMGET = 5028
|
||||
SYS_SHMAT = 5029
|
||||
SYS_SHMCTL = 5030
|
||||
SYS_DUP = 5031
|
||||
SYS_DUP2 = 5032
|
||||
SYS_PAUSE = 5033
|
||||
SYS_NANOSLEEP = 5034
|
||||
SYS_GETITIMER = 5035
|
||||
SYS_SETITIMER = 5036
|
||||
SYS_ALARM = 5037
|
||||
SYS_GETPID = 5038
|
||||
SYS_SENDFILE = 5039
|
||||
SYS_SOCKET = 5040
|
||||
SYS_CONNECT = 5041
|
||||
SYS_ACCEPT = 5042
|
||||
SYS_SENDTO = 5043
|
||||
SYS_RECVFROM = 5044
|
||||
SYS_SENDMSG = 5045
|
||||
SYS_RECVMSG = 5046
|
||||
SYS_SHUTDOWN = 5047
|
||||
SYS_BIND = 5048
|
||||
SYS_LISTEN = 5049
|
||||
SYS_GETSOCKNAME = 5050
|
||||
SYS_GETPEERNAME = 5051
|
||||
SYS_SOCKETPAIR = 5052
|
||||
SYS_SETSOCKOPT = 5053
|
||||
SYS_GETSOCKOPT = 5054
|
||||
SYS_CLONE = 5055
|
||||
SYS_FORK = 5056
|
||||
SYS_EXECVE = 5057
|
||||
SYS_EXIT = 5058
|
||||
SYS_WAIT4 = 5059
|
||||
SYS_KILL = 5060
|
||||
SYS_UNAME = 5061
|
||||
SYS_SEMGET = 5062
|
||||
SYS_SEMOP = 5063
|
||||
SYS_SEMCTL = 5064
|
||||
SYS_SHMDT = 5065
|
||||
SYS_MSGGET = 5066
|
||||
SYS_MSGSND = 5067
|
||||
SYS_MSGRCV = 5068
|
||||
SYS_MSGCTL = 5069
|
||||
SYS_FCNTL = 5070
|
||||
SYS_FLOCK = 5071
|
||||
SYS_FSYNC = 5072
|
||||
SYS_FDATASYNC = 5073
|
||||
SYS_TRUNCATE = 5074
|
||||
SYS_FTRUNCATE = 5075
|
||||
SYS_GETDENTS = 5076
|
||||
SYS_GETCWD = 5077
|
||||
SYS_CHDIR = 5078
|
||||
SYS_FCHDIR = 5079
|
||||
SYS_RENAME = 5080
|
||||
SYS_MKDIR = 5081
|
||||
SYS_RMDIR = 5082
|
||||
SYS_CREAT = 5083
|
||||
SYS_LINK = 5084
|
||||
SYS_UNLINK = 5085
|
||||
SYS_SYMLINK = 5086
|
||||
SYS_READLINK = 5087
|
||||
SYS_CHMOD = 5088
|
||||
SYS_FCHMOD = 5089
|
||||
SYS_CHOWN = 5090
|
||||
SYS_FCHOWN = 5091
|
||||
SYS_LCHOWN = 5092
|
||||
SYS_UMASK = 5093
|
||||
SYS_GETTIMEOFDAY = 5094
|
||||
SYS_GETRLIMIT = 5095
|
||||
SYS_GETRUSAGE = 5096
|
||||
SYS_SYSINFO = 5097
|
||||
SYS_TIMES = 5098
|
||||
SYS_PTRACE = 5099
|
||||
SYS_GETUID = 5100
|
||||
SYS_SYSLOG = 5101
|
||||
SYS_GETGID = 5102
|
||||
SYS_SETUID = 5103
|
||||
SYS_SETGID = 5104
|
||||
SYS_GETEUID = 5105
|
||||
SYS_GETEGID = 5106
|
||||
SYS_SETPGID = 5107
|
||||
SYS_GETPPID = 5108
|
||||
SYS_GETPGRP = 5109
|
||||
SYS_SETSID = 5110
|
||||
SYS_SETREUID = 5111
|
||||
SYS_SETREGID = 5112
|
||||
SYS_GETGROUPS = 5113
|
||||
SYS_SETGROUPS = 5114
|
||||
SYS_SETRESUID = 5115
|
||||
SYS_GETRESUID = 5116
|
||||
SYS_SETRESGID = 5117
|
||||
SYS_GETRESGID = 5118
|
||||
SYS_GETPGID = 5119
|
||||
SYS_SETFSUID = 5120
|
||||
SYS_SETFSGID = 5121
|
||||
SYS_GETSID = 5122
|
||||
SYS_CAPGET = 5123
|
||||
SYS_CAPSET = 5124
|
||||
SYS_RT_SIGPENDING = 5125
|
||||
SYS_RT_SIGTIMEDWAIT = 5126
|
||||
SYS_RT_SIGQUEUEINFO = 5127
|
||||
SYS_RT_SIGSUSPEND = 5128
|
||||
SYS_SIGALTSTACK = 5129
|
||||
SYS_UTIME = 5130
|
||||
SYS_MKNOD = 5131
|
||||
SYS_PERSONALITY = 5132
|
||||
SYS_USTAT = 5133
|
||||
SYS_STATFS = 5134
|
||||
SYS_FSTATFS = 5135
|
||||
SYS_SYSFS = 5136
|
||||
SYS_GETPRIORITY = 5137
|
||||
SYS_SETPRIORITY = 5138
|
||||
SYS_SCHED_SETPARAM = 5139
|
||||
SYS_SCHED_GETPARAM = 5140
|
||||
SYS_SCHED_SETSCHEDULER = 5141
|
||||
SYS_SCHED_GETSCHEDULER = 5142
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 5143
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 5144
|
||||
SYS_SCHED_RR_GET_INTERVAL = 5145
|
||||
SYS_MLOCK = 5146
|
||||
SYS_MUNLOCK = 5147
|
||||
SYS_MLOCKALL = 5148
|
||||
SYS_MUNLOCKALL = 5149
|
||||
SYS_VHANGUP = 5150
|
||||
SYS_PIVOT_ROOT = 5151
|
||||
SYS__SYSCTL = 5152
|
||||
SYS_PRCTL = 5153
|
||||
SYS_ADJTIMEX = 5154
|
||||
SYS_SETRLIMIT = 5155
|
||||
SYS_CHROOT = 5156
|
||||
SYS_SYNC = 5157
|
||||
SYS_ACCT = 5158
|
||||
SYS_SETTIMEOFDAY = 5159
|
||||
SYS_MOUNT = 5160
|
||||
SYS_UMOUNT2 = 5161
|
||||
SYS_SWAPON = 5162
|
||||
SYS_SWAPOFF = 5163
|
||||
SYS_REBOOT = 5164
|
||||
SYS_SETHOSTNAME = 5165
|
||||
SYS_SETDOMAINNAME = 5166
|
||||
SYS_CREATE_MODULE = 5167
|
||||
SYS_INIT_MODULE = 5168
|
||||
SYS_DELETE_MODULE = 5169
|
||||
SYS_GET_KERNEL_SYMS = 5170
|
||||
SYS_QUERY_MODULE = 5171
|
||||
SYS_QUOTACTL = 5172
|
||||
SYS_NFSSERVCTL = 5173
|
||||
SYS_GETPMSG = 5174
|
||||
SYS_PUTPMSG = 5175
|
||||
SYS_AFS_SYSCALL = 5176
|
||||
SYS_RESERVED177 = 5177
|
||||
SYS_GETTID = 5178
|
||||
SYS_READAHEAD = 5179
|
||||
SYS_SETXATTR = 5180
|
||||
SYS_LSETXATTR = 5181
|
||||
SYS_FSETXATTR = 5182
|
||||
SYS_GETXATTR = 5183
|
||||
SYS_LGETXATTR = 5184
|
||||
SYS_FGETXATTR = 5185
|
||||
SYS_LISTXATTR = 5186
|
||||
SYS_LLISTXATTR = 5187
|
||||
SYS_FLISTXATTR = 5188
|
||||
SYS_REMOVEXATTR = 5189
|
||||
SYS_LREMOVEXATTR = 5190
|
||||
SYS_FREMOVEXATTR = 5191
|
||||
SYS_TKILL = 5192
|
||||
SYS_RESERVED193 = 5193
|
||||
SYS_FUTEX = 5194
|
||||
SYS_SCHED_SETAFFINITY = 5195
|
||||
SYS_SCHED_GETAFFINITY = 5196
|
||||
SYS_CACHEFLUSH = 5197
|
||||
SYS_CACHECTL = 5198
|
||||
SYS_SYSMIPS = 5199
|
||||
SYS_IO_SETUP = 5200
|
||||
SYS_IO_DESTROY = 5201
|
||||
SYS_IO_GETEVENTS = 5202
|
||||
SYS_IO_SUBMIT = 5203
|
||||
SYS_IO_CANCEL = 5204
|
||||
SYS_EXIT_GROUP = 5205
|
||||
SYS_LOOKUP_DCOOKIE = 5206
|
||||
SYS_EPOLL_CREATE = 5207
|
||||
SYS_EPOLL_CTL = 5208
|
||||
SYS_EPOLL_WAIT = 5209
|
||||
SYS_REMAP_FILE_PAGES = 5210
|
||||
SYS_RT_SIGRETURN = 5211
|
||||
SYS_SET_TID_ADDRESS = 5212
|
||||
SYS_RESTART_SYSCALL = 5213
|
||||
SYS_SEMTIMEDOP = 5214
|
||||
SYS_FADVISE64 = 5215
|
||||
SYS_TIMER_CREATE = 5216
|
||||
SYS_TIMER_SETTIME = 5217
|
||||
SYS_TIMER_GETTIME = 5218
|
||||
SYS_TIMER_GETOVERRUN = 5219
|
||||
SYS_TIMER_DELETE = 5220
|
||||
SYS_CLOCK_SETTIME = 5221
|
||||
SYS_CLOCK_GETTIME = 5222
|
||||
SYS_CLOCK_GETRES = 5223
|
||||
SYS_CLOCK_NANOSLEEP = 5224
|
||||
SYS_TGKILL = 5225
|
||||
SYS_UTIMES = 5226
|
||||
SYS_MBIND = 5227
|
||||
SYS_GET_MEMPOLICY = 5228
|
||||
SYS_SET_MEMPOLICY = 5229
|
||||
SYS_MQ_OPEN = 5230
|
||||
SYS_MQ_UNLINK = 5231
|
||||
SYS_MQ_TIMEDSEND = 5232
|
||||
SYS_MQ_TIMEDRECEIVE = 5233
|
||||
SYS_MQ_NOTIFY = 5234
|
||||
SYS_MQ_GETSETATTR = 5235
|
||||
SYS_VSERVER = 5236
|
||||
SYS_WAITID = 5237
|
||||
SYS_ADD_KEY = 5239
|
||||
SYS_REQUEST_KEY = 5240
|
||||
SYS_KEYCTL = 5241
|
||||
SYS_SET_THREAD_AREA = 5242
|
||||
SYS_INOTIFY_INIT = 5243
|
||||
SYS_INOTIFY_ADD_WATCH = 5244
|
||||
SYS_INOTIFY_RM_WATCH = 5245
|
||||
SYS_MIGRATE_PAGES = 5246
|
||||
SYS_OPENAT = 5247
|
||||
SYS_MKDIRAT = 5248
|
||||
SYS_MKNODAT = 5249
|
||||
SYS_FCHOWNAT = 5250
|
||||
SYS_FUTIMESAT = 5251
|
||||
SYS_NEWFSTATAT = 5252
|
||||
SYS_UNLINKAT = 5253
|
||||
SYS_RENAMEAT = 5254
|
||||
SYS_LINKAT = 5255
|
||||
SYS_SYMLINKAT = 5256
|
||||
SYS_READLINKAT = 5257
|
||||
SYS_FCHMODAT = 5258
|
||||
SYS_FACCESSAT = 5259
|
||||
SYS_PSELECT6 = 5260
|
||||
SYS_PPOLL = 5261
|
||||
SYS_UNSHARE = 5262
|
||||
SYS_SPLICE = 5263
|
||||
SYS_SYNC_FILE_RANGE = 5264
|
||||
SYS_TEE = 5265
|
||||
SYS_VMSPLICE = 5266
|
||||
SYS_MOVE_PAGES = 5267
|
||||
SYS_SET_ROBUST_LIST = 5268
|
||||
SYS_GET_ROBUST_LIST = 5269
|
||||
SYS_KEXEC_LOAD = 5270
|
||||
SYS_GETCPU = 5271
|
||||
SYS_EPOLL_PWAIT = 5272
|
||||
SYS_IOPRIO_SET = 5273
|
||||
SYS_IOPRIO_GET = 5274
|
||||
SYS_UTIMENSAT = 5275
|
||||
SYS_SIGNALFD = 5276
|
||||
SYS_TIMERFD = 5277
|
||||
SYS_EVENTFD = 5278
|
||||
SYS_FALLOCATE = 5279
|
||||
SYS_TIMERFD_CREATE = 5280
|
||||
SYS_TIMERFD_GETTIME = 5281
|
||||
SYS_TIMERFD_SETTIME = 5282
|
||||
SYS_SIGNALFD4 = 5283
|
||||
SYS_EVENTFD2 = 5284
|
||||
SYS_EPOLL_CREATE1 = 5285
|
||||
SYS_DUP3 = 5286
|
||||
SYS_PIPE2 = 5287
|
||||
SYS_INOTIFY_INIT1 = 5288
|
||||
SYS_PREADV = 5289
|
||||
SYS_PWRITEV = 5290
|
||||
SYS_RT_TGSIGQUEUEINFO = 5291
|
||||
SYS_PERF_EVENT_OPEN = 5292
|
||||
SYS_ACCEPT4 = 5293
|
||||
SYS_RECVMMSG = 5294
|
||||
SYS_FANOTIFY_INIT = 5295
|
||||
SYS_FANOTIFY_MARK = 5296
|
||||
SYS_PRLIMIT64 = 5297
|
||||
SYS_NAME_TO_HANDLE_AT = 5298
|
||||
SYS_OPEN_BY_HANDLE_AT = 5299
|
||||
SYS_CLOCK_ADJTIME = 5300
|
||||
SYS_SYNCFS = 5301
|
||||
SYS_SENDMMSG = 5302
|
||||
SYS_SETNS = 5303
|
||||
SYS_PROCESS_VM_READV = 5304
|
||||
SYS_PROCESS_VM_WRITEV = 5305
|
||||
SYS_KCMP = 5306
|
||||
SYS_FINIT_MODULE = 5307
|
||||
SYS_GETDENTS64 = 5308
|
||||
SYS_SCHED_SETATTR = 5309
|
||||
SYS_SCHED_GETATTR = 5310
|
||||
SYS_RENAMEAT2 = 5311
|
||||
SYS_SECCOMP = 5312
|
||||
SYS_GETRANDOM = 5313
|
||||
SYS_MEMFD_CREATE = 5314
|
||||
SYS_BPF = 5315
|
||||
SYS_EXECVEAT = 5316
|
||||
SYS_USERFAULTFD = 5317
|
||||
SYS_MEMBARRIER = 5318
|
||||
SYS_MLOCK2 = 5319
|
||||
SYS_COPY_FILE_RANGE = 5320
|
||||
SYS_PREADV2 = 5321
|
||||
SYS_PWRITEV2 = 5322
|
||||
SYS_PKEY_MPROTECT = 5323
|
||||
SYS_PKEY_ALLOC = 5324
|
||||
SYS_PKEY_FREE = 5325
|
||||
SYS_STATX = 5326
|
||||
SYS_RSEQ = 5327
|
||||
SYS_IO_PGETEVENTS = 5328
|
||||
SYS_PIDFD_SEND_SIGNAL = 5424
|
||||
SYS_IO_URING_SETUP = 5425
|
||||
SYS_IO_URING_ENTER = 5426
|
||||
SYS_IO_URING_REGISTER = 5427
|
||||
SYS_OPEN_TREE = 5428
|
||||
SYS_MOVE_MOUNT = 5429
|
||||
SYS_FSOPEN = 5430
|
||||
SYS_FSCONFIG = 5431
|
||||
SYS_FSMOUNT = 5432
|
||||
SYS_FSPICK = 5433
|
||||
SYS_PIDFD_OPEN = 5434
|
||||
SYS_CLONE3 = 5435
|
||||
SYS_CLOSE_RANGE = 5436
|
||||
SYS_OPENAT2 = 5437
|
||||
SYS_PIDFD_GETFD = 5438
|
||||
SYS_FACCESSAT2 = 5439
|
||||
SYS_PROCESS_MADVISE = 5440
|
||||
SYS_EPOLL_PWAIT2 = 5441
|
||||
SYS_MOUNT_SETATTR = 5442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 5444
|
||||
SYS_LANDLOCK_ADD_RULE = 5445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 5446
|
||||
)
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
|
|
@ -424,4 +424,7 @@ const (
|
|||
SYS_PROCESS_MADVISE = 4440
|
||||
SYS_EPOLL_PWAIT2 = 4441
|
||||
SYS_MOUNT_SETATTR = 4442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 4444
|
||||
SYS_LANDLOCK_ADD_RULE = 4445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 4446
|
||||
)
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
generated
vendored
3
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
generated
vendored
|
|
@ -431,4 +431,7 @@ const (
|
|||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
795
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
795
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
|
|
@ -7,400 +7,403 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAITPID = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_TIME = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BREAK = 17
|
||||
SYS_OLDSTAT = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_STIME = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_OLDFSTAT = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_STTY = 31
|
||||
SYS_GTTY = 32
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_FTIME = 35
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_PROF = 44
|
||||
SYS_BRK = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_LOCK = 53
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_MPX = 56
|
||||
SYS_SETPGID = 57
|
||||
SYS_ULIMIT = 58
|
||||
SYS_OLDOLDUNAME = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SGETMASK = 68
|
||||
SYS_SSETMASK = 69
|
||||
SYS_SETREUID = 70
|
||||
SYS_SETREGID = 71
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRLIMIT = 76
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_GETGROUPS = 80
|
||||
SYS_SETGROUPS = 81
|
||||
SYS_SELECT = 82
|
||||
SYS_SYMLINK = 83
|
||||
SYS_OLDLSTAT = 84
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_FCHOWN = 95
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_PROFIL = 98
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_IOPERM = 101
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_OLDUNAME = 109
|
||||
SYS_IOPL = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_VM86 = 113
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_MODIFY_LDT = 123
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_SETFSUID = 138
|
||||
SYS_SETFSGID = 139
|
||||
SYS__LLSEEK = 140
|
||||
SYS_GETDENTS = 141
|
||||
SYS__NEWSELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_SETRESUID = 164
|
||||
SYS_GETRESUID = 165
|
||||
SYS_QUERY_MODULE = 166
|
||||
SYS_POLL = 167
|
||||
SYS_NFSSERVCTL = 168
|
||||
SYS_SETRESGID = 169
|
||||
SYS_GETRESGID = 170
|
||||
SYS_PRCTL = 171
|
||||
SYS_RT_SIGRETURN = 172
|
||||
SYS_RT_SIGACTION = 173
|
||||
SYS_RT_SIGPROCMASK = 174
|
||||
SYS_RT_SIGPENDING = 175
|
||||
SYS_RT_SIGTIMEDWAIT = 176
|
||||
SYS_RT_SIGQUEUEINFO = 177
|
||||
SYS_RT_SIGSUSPEND = 178
|
||||
SYS_PREAD64 = 179
|
||||
SYS_PWRITE64 = 180
|
||||
SYS_CHOWN = 181
|
||||
SYS_GETCWD = 182
|
||||
SYS_CAPGET = 183
|
||||
SYS_CAPSET = 184
|
||||
SYS_SIGALTSTACK = 185
|
||||
SYS_SENDFILE = 186
|
||||
SYS_GETPMSG = 187
|
||||
SYS_PUTPMSG = 188
|
||||
SYS_VFORK = 189
|
||||
SYS_UGETRLIMIT = 190
|
||||
SYS_READAHEAD = 191
|
||||
SYS_PCICONFIG_READ = 198
|
||||
SYS_PCICONFIG_WRITE = 199
|
||||
SYS_PCICONFIG_IOBASE = 200
|
||||
SYS_MULTIPLEXER = 201
|
||||
SYS_GETDENTS64 = 202
|
||||
SYS_PIVOT_ROOT = 203
|
||||
SYS_MADVISE = 205
|
||||
SYS_MINCORE = 206
|
||||
SYS_GETTID = 207
|
||||
SYS_TKILL = 208
|
||||
SYS_SETXATTR = 209
|
||||
SYS_LSETXATTR = 210
|
||||
SYS_FSETXATTR = 211
|
||||
SYS_GETXATTR = 212
|
||||
SYS_LGETXATTR = 213
|
||||
SYS_FGETXATTR = 214
|
||||
SYS_LISTXATTR = 215
|
||||
SYS_LLISTXATTR = 216
|
||||
SYS_FLISTXATTR = 217
|
||||
SYS_REMOVEXATTR = 218
|
||||
SYS_LREMOVEXATTR = 219
|
||||
SYS_FREMOVEXATTR = 220
|
||||
SYS_FUTEX = 221
|
||||
SYS_SCHED_SETAFFINITY = 222
|
||||
SYS_SCHED_GETAFFINITY = 223
|
||||
SYS_TUXCALL = 225
|
||||
SYS_IO_SETUP = 227
|
||||
SYS_IO_DESTROY = 228
|
||||
SYS_IO_GETEVENTS = 229
|
||||
SYS_IO_SUBMIT = 230
|
||||
SYS_IO_CANCEL = 231
|
||||
SYS_SET_TID_ADDRESS = 232
|
||||
SYS_FADVISE64 = 233
|
||||
SYS_EXIT_GROUP = 234
|
||||
SYS_LOOKUP_DCOOKIE = 235
|
||||
SYS_EPOLL_CREATE = 236
|
||||
SYS_EPOLL_CTL = 237
|
||||
SYS_EPOLL_WAIT = 238
|
||||
SYS_REMAP_FILE_PAGES = 239
|
||||
SYS_TIMER_CREATE = 240
|
||||
SYS_TIMER_SETTIME = 241
|
||||
SYS_TIMER_GETTIME = 242
|
||||
SYS_TIMER_GETOVERRUN = 243
|
||||
SYS_TIMER_DELETE = 244
|
||||
SYS_CLOCK_SETTIME = 245
|
||||
SYS_CLOCK_GETTIME = 246
|
||||
SYS_CLOCK_GETRES = 247
|
||||
SYS_CLOCK_NANOSLEEP = 248
|
||||
SYS_SWAPCONTEXT = 249
|
||||
SYS_TGKILL = 250
|
||||
SYS_UTIMES = 251
|
||||
SYS_STATFS64 = 252
|
||||
SYS_FSTATFS64 = 253
|
||||
SYS_RTAS = 255
|
||||
SYS_SYS_DEBUG_SETCONTEXT = 256
|
||||
SYS_MIGRATE_PAGES = 258
|
||||
SYS_MBIND = 259
|
||||
SYS_GET_MEMPOLICY = 260
|
||||
SYS_SET_MEMPOLICY = 261
|
||||
SYS_MQ_OPEN = 262
|
||||
SYS_MQ_UNLINK = 263
|
||||
SYS_MQ_TIMEDSEND = 264
|
||||
SYS_MQ_TIMEDRECEIVE = 265
|
||||
SYS_MQ_NOTIFY = 266
|
||||
SYS_MQ_GETSETATTR = 267
|
||||
SYS_KEXEC_LOAD = 268
|
||||
SYS_ADD_KEY = 269
|
||||
SYS_REQUEST_KEY = 270
|
||||
SYS_KEYCTL = 271
|
||||
SYS_WAITID = 272
|
||||
SYS_IOPRIO_SET = 273
|
||||
SYS_IOPRIO_GET = 274
|
||||
SYS_INOTIFY_INIT = 275
|
||||
SYS_INOTIFY_ADD_WATCH = 276
|
||||
SYS_INOTIFY_RM_WATCH = 277
|
||||
SYS_SPU_RUN = 278
|
||||
SYS_SPU_CREATE = 279
|
||||
SYS_PSELECT6 = 280
|
||||
SYS_PPOLL = 281
|
||||
SYS_UNSHARE = 282
|
||||
SYS_SPLICE = 283
|
||||
SYS_TEE = 284
|
||||
SYS_VMSPLICE = 285
|
||||
SYS_OPENAT = 286
|
||||
SYS_MKDIRAT = 287
|
||||
SYS_MKNODAT = 288
|
||||
SYS_FCHOWNAT = 289
|
||||
SYS_FUTIMESAT = 290
|
||||
SYS_NEWFSTATAT = 291
|
||||
SYS_UNLINKAT = 292
|
||||
SYS_RENAMEAT = 293
|
||||
SYS_LINKAT = 294
|
||||
SYS_SYMLINKAT = 295
|
||||
SYS_READLINKAT = 296
|
||||
SYS_FCHMODAT = 297
|
||||
SYS_FACCESSAT = 298
|
||||
SYS_GET_ROBUST_LIST = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_MOVE_PAGES = 301
|
||||
SYS_GETCPU = 302
|
||||
SYS_EPOLL_PWAIT = 303
|
||||
SYS_UTIMENSAT = 304
|
||||
SYS_SIGNALFD = 305
|
||||
SYS_TIMERFD_CREATE = 306
|
||||
SYS_EVENTFD = 307
|
||||
SYS_SYNC_FILE_RANGE2 = 308
|
||||
SYS_FALLOCATE = 309
|
||||
SYS_SUBPAGE_PROT = 310
|
||||
SYS_TIMERFD_SETTIME = 311
|
||||
SYS_TIMERFD_GETTIME = 312
|
||||
SYS_SIGNALFD4 = 313
|
||||
SYS_EVENTFD2 = 314
|
||||
SYS_EPOLL_CREATE1 = 315
|
||||
SYS_DUP3 = 316
|
||||
SYS_PIPE2 = 317
|
||||
SYS_INOTIFY_INIT1 = 318
|
||||
SYS_PERF_EVENT_OPEN = 319
|
||||
SYS_PREADV = 320
|
||||
SYS_PWRITEV = 321
|
||||
SYS_RT_TGSIGQUEUEINFO = 322
|
||||
SYS_FANOTIFY_INIT = 323
|
||||
SYS_FANOTIFY_MARK = 324
|
||||
SYS_PRLIMIT64 = 325
|
||||
SYS_SOCKET = 326
|
||||
SYS_BIND = 327
|
||||
SYS_CONNECT = 328
|
||||
SYS_LISTEN = 329
|
||||
SYS_ACCEPT = 330
|
||||
SYS_GETSOCKNAME = 331
|
||||
SYS_GETPEERNAME = 332
|
||||
SYS_SOCKETPAIR = 333
|
||||
SYS_SEND = 334
|
||||
SYS_SENDTO = 335
|
||||
SYS_RECV = 336
|
||||
SYS_RECVFROM = 337
|
||||
SYS_SHUTDOWN = 338
|
||||
SYS_SETSOCKOPT = 339
|
||||
SYS_GETSOCKOPT = 340
|
||||
SYS_SENDMSG = 341
|
||||
SYS_RECVMSG = 342
|
||||
SYS_RECVMMSG = 343
|
||||
SYS_ACCEPT4 = 344
|
||||
SYS_NAME_TO_HANDLE_AT = 345
|
||||
SYS_OPEN_BY_HANDLE_AT = 346
|
||||
SYS_CLOCK_ADJTIME = 347
|
||||
SYS_SYNCFS = 348
|
||||
SYS_SENDMMSG = 349
|
||||
SYS_SETNS = 350
|
||||
SYS_PROCESS_VM_READV = 351
|
||||
SYS_PROCESS_VM_WRITEV = 352
|
||||
SYS_FINIT_MODULE = 353
|
||||
SYS_KCMP = 354
|
||||
SYS_SCHED_SETATTR = 355
|
||||
SYS_SCHED_GETATTR = 356
|
||||
SYS_RENAMEAT2 = 357
|
||||
SYS_SECCOMP = 358
|
||||
SYS_GETRANDOM = 359
|
||||
SYS_MEMFD_CREATE = 360
|
||||
SYS_BPF = 361
|
||||
SYS_EXECVEAT = 362
|
||||
SYS_SWITCH_ENDIAN = 363
|
||||
SYS_USERFAULTFD = 364
|
||||
SYS_MEMBARRIER = 365
|
||||
SYS_MLOCK2 = 378
|
||||
SYS_COPY_FILE_RANGE = 379
|
||||
SYS_PREADV2 = 380
|
||||
SYS_PWRITEV2 = 381
|
||||
SYS_KEXEC_FILE_LOAD = 382
|
||||
SYS_STATX = 383
|
||||
SYS_PKEY_ALLOC = 384
|
||||
SYS_PKEY_FREE = 385
|
||||
SYS_PKEY_MPROTECT = 386
|
||||
SYS_RSEQ = 387
|
||||
SYS_IO_PGETEVENTS = 388
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAITPID = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_TIME = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BREAK = 17
|
||||
SYS_OLDSTAT = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_STIME = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_OLDFSTAT = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_STTY = 31
|
||||
SYS_GTTY = 32
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_FTIME = 35
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_PROF = 44
|
||||
SYS_BRK = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_LOCK = 53
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_MPX = 56
|
||||
SYS_SETPGID = 57
|
||||
SYS_ULIMIT = 58
|
||||
SYS_OLDOLDUNAME = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SGETMASK = 68
|
||||
SYS_SSETMASK = 69
|
||||
SYS_SETREUID = 70
|
||||
SYS_SETREGID = 71
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRLIMIT = 76
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_GETGROUPS = 80
|
||||
SYS_SETGROUPS = 81
|
||||
SYS_SELECT = 82
|
||||
SYS_SYMLINK = 83
|
||||
SYS_OLDLSTAT = 84
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_FCHOWN = 95
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_PROFIL = 98
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_IOPERM = 101
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_OLDUNAME = 109
|
||||
SYS_IOPL = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_VM86 = 113
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_MODIFY_LDT = 123
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_SETFSUID = 138
|
||||
SYS_SETFSGID = 139
|
||||
SYS__LLSEEK = 140
|
||||
SYS_GETDENTS = 141
|
||||
SYS__NEWSELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_SETRESUID = 164
|
||||
SYS_GETRESUID = 165
|
||||
SYS_QUERY_MODULE = 166
|
||||
SYS_POLL = 167
|
||||
SYS_NFSSERVCTL = 168
|
||||
SYS_SETRESGID = 169
|
||||
SYS_GETRESGID = 170
|
||||
SYS_PRCTL = 171
|
||||
SYS_RT_SIGRETURN = 172
|
||||
SYS_RT_SIGACTION = 173
|
||||
SYS_RT_SIGPROCMASK = 174
|
||||
SYS_RT_SIGPENDING = 175
|
||||
SYS_RT_SIGTIMEDWAIT = 176
|
||||
SYS_RT_SIGQUEUEINFO = 177
|
||||
SYS_RT_SIGSUSPEND = 178
|
||||
SYS_PREAD64 = 179
|
||||
SYS_PWRITE64 = 180
|
||||
SYS_CHOWN = 181
|
||||
SYS_GETCWD = 182
|
||||
SYS_CAPGET = 183
|
||||
SYS_CAPSET = 184
|
||||
SYS_SIGALTSTACK = 185
|
||||
SYS_SENDFILE = 186
|
||||
SYS_GETPMSG = 187
|
||||
SYS_PUTPMSG = 188
|
||||
SYS_VFORK = 189
|
||||
SYS_UGETRLIMIT = 190
|
||||
SYS_READAHEAD = 191
|
||||
SYS_PCICONFIG_READ = 198
|
||||
SYS_PCICONFIG_WRITE = 199
|
||||
SYS_PCICONFIG_IOBASE = 200
|
||||
SYS_MULTIPLEXER = 201
|
||||
SYS_GETDENTS64 = 202
|
||||
SYS_PIVOT_ROOT = 203
|
||||
SYS_MADVISE = 205
|
||||
SYS_MINCORE = 206
|
||||
SYS_GETTID = 207
|
||||
SYS_TKILL = 208
|
||||
SYS_SETXATTR = 209
|
||||
SYS_LSETXATTR = 210
|
||||
SYS_FSETXATTR = 211
|
||||
SYS_GETXATTR = 212
|
||||
SYS_LGETXATTR = 213
|
||||
SYS_FGETXATTR = 214
|
||||
SYS_LISTXATTR = 215
|
||||
SYS_LLISTXATTR = 216
|
||||
SYS_FLISTXATTR = 217
|
||||
SYS_REMOVEXATTR = 218
|
||||
SYS_LREMOVEXATTR = 219
|
||||
SYS_FREMOVEXATTR = 220
|
||||
SYS_FUTEX = 221
|
||||
SYS_SCHED_SETAFFINITY = 222
|
||||
SYS_SCHED_GETAFFINITY = 223
|
||||
SYS_TUXCALL = 225
|
||||
SYS_IO_SETUP = 227
|
||||
SYS_IO_DESTROY = 228
|
||||
SYS_IO_GETEVENTS = 229
|
||||
SYS_IO_SUBMIT = 230
|
||||
SYS_IO_CANCEL = 231
|
||||
SYS_SET_TID_ADDRESS = 232
|
||||
SYS_FADVISE64 = 233
|
||||
SYS_EXIT_GROUP = 234
|
||||
SYS_LOOKUP_DCOOKIE = 235
|
||||
SYS_EPOLL_CREATE = 236
|
||||
SYS_EPOLL_CTL = 237
|
||||
SYS_EPOLL_WAIT = 238
|
||||
SYS_REMAP_FILE_PAGES = 239
|
||||
SYS_TIMER_CREATE = 240
|
||||
SYS_TIMER_SETTIME = 241
|
||||
SYS_TIMER_GETTIME = 242
|
||||
SYS_TIMER_GETOVERRUN = 243
|
||||
SYS_TIMER_DELETE = 244
|
||||
SYS_CLOCK_SETTIME = 245
|
||||
SYS_CLOCK_GETTIME = 246
|
||||
SYS_CLOCK_GETRES = 247
|
||||
SYS_CLOCK_NANOSLEEP = 248
|
||||
SYS_SWAPCONTEXT = 249
|
||||
SYS_TGKILL = 250
|
||||
SYS_UTIMES = 251
|
||||
SYS_STATFS64 = 252
|
||||
SYS_FSTATFS64 = 253
|
||||
SYS_RTAS = 255
|
||||
SYS_SYS_DEBUG_SETCONTEXT = 256
|
||||
SYS_MIGRATE_PAGES = 258
|
||||
SYS_MBIND = 259
|
||||
SYS_GET_MEMPOLICY = 260
|
||||
SYS_SET_MEMPOLICY = 261
|
||||
SYS_MQ_OPEN = 262
|
||||
SYS_MQ_UNLINK = 263
|
||||
SYS_MQ_TIMEDSEND = 264
|
||||
SYS_MQ_TIMEDRECEIVE = 265
|
||||
SYS_MQ_NOTIFY = 266
|
||||
SYS_MQ_GETSETATTR = 267
|
||||
SYS_KEXEC_LOAD = 268
|
||||
SYS_ADD_KEY = 269
|
||||
SYS_REQUEST_KEY = 270
|
||||
SYS_KEYCTL = 271
|
||||
SYS_WAITID = 272
|
||||
SYS_IOPRIO_SET = 273
|
||||
SYS_IOPRIO_GET = 274
|
||||
SYS_INOTIFY_INIT = 275
|
||||
SYS_INOTIFY_ADD_WATCH = 276
|
||||
SYS_INOTIFY_RM_WATCH = 277
|
||||
SYS_SPU_RUN = 278
|
||||
SYS_SPU_CREATE = 279
|
||||
SYS_PSELECT6 = 280
|
||||
SYS_PPOLL = 281
|
||||
SYS_UNSHARE = 282
|
||||
SYS_SPLICE = 283
|
||||
SYS_TEE = 284
|
||||
SYS_VMSPLICE = 285
|
||||
SYS_OPENAT = 286
|
||||
SYS_MKDIRAT = 287
|
||||
SYS_MKNODAT = 288
|
||||
SYS_FCHOWNAT = 289
|
||||
SYS_FUTIMESAT = 290
|
||||
SYS_NEWFSTATAT = 291
|
||||
SYS_UNLINKAT = 292
|
||||
SYS_RENAMEAT = 293
|
||||
SYS_LINKAT = 294
|
||||
SYS_SYMLINKAT = 295
|
||||
SYS_READLINKAT = 296
|
||||
SYS_FCHMODAT = 297
|
||||
SYS_FACCESSAT = 298
|
||||
SYS_GET_ROBUST_LIST = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_MOVE_PAGES = 301
|
||||
SYS_GETCPU = 302
|
||||
SYS_EPOLL_PWAIT = 303
|
||||
SYS_UTIMENSAT = 304
|
||||
SYS_SIGNALFD = 305
|
||||
SYS_TIMERFD_CREATE = 306
|
||||
SYS_EVENTFD = 307
|
||||
SYS_SYNC_FILE_RANGE2 = 308
|
||||
SYS_FALLOCATE = 309
|
||||
SYS_SUBPAGE_PROT = 310
|
||||
SYS_TIMERFD_SETTIME = 311
|
||||
SYS_TIMERFD_GETTIME = 312
|
||||
SYS_SIGNALFD4 = 313
|
||||
SYS_EVENTFD2 = 314
|
||||
SYS_EPOLL_CREATE1 = 315
|
||||
SYS_DUP3 = 316
|
||||
SYS_PIPE2 = 317
|
||||
SYS_INOTIFY_INIT1 = 318
|
||||
SYS_PERF_EVENT_OPEN = 319
|
||||
SYS_PREADV = 320
|
||||
SYS_PWRITEV = 321
|
||||
SYS_RT_TGSIGQUEUEINFO = 322
|
||||
SYS_FANOTIFY_INIT = 323
|
||||
SYS_FANOTIFY_MARK = 324
|
||||
SYS_PRLIMIT64 = 325
|
||||
SYS_SOCKET = 326
|
||||
SYS_BIND = 327
|
||||
SYS_CONNECT = 328
|
||||
SYS_LISTEN = 329
|
||||
SYS_ACCEPT = 330
|
||||
SYS_GETSOCKNAME = 331
|
||||
SYS_GETPEERNAME = 332
|
||||
SYS_SOCKETPAIR = 333
|
||||
SYS_SEND = 334
|
||||
SYS_SENDTO = 335
|
||||
SYS_RECV = 336
|
||||
SYS_RECVFROM = 337
|
||||
SYS_SHUTDOWN = 338
|
||||
SYS_SETSOCKOPT = 339
|
||||
SYS_GETSOCKOPT = 340
|
||||
SYS_SENDMSG = 341
|
||||
SYS_RECVMSG = 342
|
||||
SYS_RECVMMSG = 343
|
||||
SYS_ACCEPT4 = 344
|
||||
SYS_NAME_TO_HANDLE_AT = 345
|
||||
SYS_OPEN_BY_HANDLE_AT = 346
|
||||
SYS_CLOCK_ADJTIME = 347
|
||||
SYS_SYNCFS = 348
|
||||
SYS_SENDMMSG = 349
|
||||
SYS_SETNS = 350
|
||||
SYS_PROCESS_VM_READV = 351
|
||||
SYS_PROCESS_VM_WRITEV = 352
|
||||
SYS_FINIT_MODULE = 353
|
||||
SYS_KCMP = 354
|
||||
SYS_SCHED_SETATTR = 355
|
||||
SYS_SCHED_GETATTR = 356
|
||||
SYS_RENAMEAT2 = 357
|
||||
SYS_SECCOMP = 358
|
||||
SYS_GETRANDOM = 359
|
||||
SYS_MEMFD_CREATE = 360
|
||||
SYS_BPF = 361
|
||||
SYS_EXECVEAT = 362
|
||||
SYS_SWITCH_ENDIAN = 363
|
||||
SYS_USERFAULTFD = 364
|
||||
SYS_MEMBARRIER = 365
|
||||
SYS_MLOCK2 = 378
|
||||
SYS_COPY_FILE_RANGE = 379
|
||||
SYS_PREADV2 = 380
|
||||
SYS_PWRITEV2 = 381
|
||||
SYS_KEXEC_FILE_LOAD = 382
|
||||
SYS_STATX = 383
|
||||
SYS_PKEY_ALLOC = 384
|
||||
SYS_PKEY_FREE = 385
|
||||
SYS_PKEY_MPROTECT = 386
|
||||
SYS_RSEQ = 387
|
||||
SYS_IO_PGETEVENTS = 388
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
795
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
795
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
|
|
@ -7,400 +7,403 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAITPID = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_TIME = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BREAK = 17
|
||||
SYS_OLDSTAT = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_STIME = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_OLDFSTAT = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_STTY = 31
|
||||
SYS_GTTY = 32
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_FTIME = 35
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_PROF = 44
|
||||
SYS_BRK = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_LOCK = 53
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_MPX = 56
|
||||
SYS_SETPGID = 57
|
||||
SYS_ULIMIT = 58
|
||||
SYS_OLDOLDUNAME = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SGETMASK = 68
|
||||
SYS_SSETMASK = 69
|
||||
SYS_SETREUID = 70
|
||||
SYS_SETREGID = 71
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRLIMIT = 76
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_GETGROUPS = 80
|
||||
SYS_SETGROUPS = 81
|
||||
SYS_SELECT = 82
|
||||
SYS_SYMLINK = 83
|
||||
SYS_OLDLSTAT = 84
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_FCHOWN = 95
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_PROFIL = 98
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_IOPERM = 101
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_OLDUNAME = 109
|
||||
SYS_IOPL = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_VM86 = 113
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_MODIFY_LDT = 123
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_SETFSUID = 138
|
||||
SYS_SETFSGID = 139
|
||||
SYS__LLSEEK = 140
|
||||
SYS_GETDENTS = 141
|
||||
SYS__NEWSELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_SETRESUID = 164
|
||||
SYS_GETRESUID = 165
|
||||
SYS_QUERY_MODULE = 166
|
||||
SYS_POLL = 167
|
||||
SYS_NFSSERVCTL = 168
|
||||
SYS_SETRESGID = 169
|
||||
SYS_GETRESGID = 170
|
||||
SYS_PRCTL = 171
|
||||
SYS_RT_SIGRETURN = 172
|
||||
SYS_RT_SIGACTION = 173
|
||||
SYS_RT_SIGPROCMASK = 174
|
||||
SYS_RT_SIGPENDING = 175
|
||||
SYS_RT_SIGTIMEDWAIT = 176
|
||||
SYS_RT_SIGQUEUEINFO = 177
|
||||
SYS_RT_SIGSUSPEND = 178
|
||||
SYS_PREAD64 = 179
|
||||
SYS_PWRITE64 = 180
|
||||
SYS_CHOWN = 181
|
||||
SYS_GETCWD = 182
|
||||
SYS_CAPGET = 183
|
||||
SYS_CAPSET = 184
|
||||
SYS_SIGALTSTACK = 185
|
||||
SYS_SENDFILE = 186
|
||||
SYS_GETPMSG = 187
|
||||
SYS_PUTPMSG = 188
|
||||
SYS_VFORK = 189
|
||||
SYS_UGETRLIMIT = 190
|
||||
SYS_READAHEAD = 191
|
||||
SYS_PCICONFIG_READ = 198
|
||||
SYS_PCICONFIG_WRITE = 199
|
||||
SYS_PCICONFIG_IOBASE = 200
|
||||
SYS_MULTIPLEXER = 201
|
||||
SYS_GETDENTS64 = 202
|
||||
SYS_PIVOT_ROOT = 203
|
||||
SYS_MADVISE = 205
|
||||
SYS_MINCORE = 206
|
||||
SYS_GETTID = 207
|
||||
SYS_TKILL = 208
|
||||
SYS_SETXATTR = 209
|
||||
SYS_LSETXATTR = 210
|
||||
SYS_FSETXATTR = 211
|
||||
SYS_GETXATTR = 212
|
||||
SYS_LGETXATTR = 213
|
||||
SYS_FGETXATTR = 214
|
||||
SYS_LISTXATTR = 215
|
||||
SYS_LLISTXATTR = 216
|
||||
SYS_FLISTXATTR = 217
|
||||
SYS_REMOVEXATTR = 218
|
||||
SYS_LREMOVEXATTR = 219
|
||||
SYS_FREMOVEXATTR = 220
|
||||
SYS_FUTEX = 221
|
||||
SYS_SCHED_SETAFFINITY = 222
|
||||
SYS_SCHED_GETAFFINITY = 223
|
||||
SYS_TUXCALL = 225
|
||||
SYS_IO_SETUP = 227
|
||||
SYS_IO_DESTROY = 228
|
||||
SYS_IO_GETEVENTS = 229
|
||||
SYS_IO_SUBMIT = 230
|
||||
SYS_IO_CANCEL = 231
|
||||
SYS_SET_TID_ADDRESS = 232
|
||||
SYS_FADVISE64 = 233
|
||||
SYS_EXIT_GROUP = 234
|
||||
SYS_LOOKUP_DCOOKIE = 235
|
||||
SYS_EPOLL_CREATE = 236
|
||||
SYS_EPOLL_CTL = 237
|
||||
SYS_EPOLL_WAIT = 238
|
||||
SYS_REMAP_FILE_PAGES = 239
|
||||
SYS_TIMER_CREATE = 240
|
||||
SYS_TIMER_SETTIME = 241
|
||||
SYS_TIMER_GETTIME = 242
|
||||
SYS_TIMER_GETOVERRUN = 243
|
||||
SYS_TIMER_DELETE = 244
|
||||
SYS_CLOCK_SETTIME = 245
|
||||
SYS_CLOCK_GETTIME = 246
|
||||
SYS_CLOCK_GETRES = 247
|
||||
SYS_CLOCK_NANOSLEEP = 248
|
||||
SYS_SWAPCONTEXT = 249
|
||||
SYS_TGKILL = 250
|
||||
SYS_UTIMES = 251
|
||||
SYS_STATFS64 = 252
|
||||
SYS_FSTATFS64 = 253
|
||||
SYS_RTAS = 255
|
||||
SYS_SYS_DEBUG_SETCONTEXT = 256
|
||||
SYS_MIGRATE_PAGES = 258
|
||||
SYS_MBIND = 259
|
||||
SYS_GET_MEMPOLICY = 260
|
||||
SYS_SET_MEMPOLICY = 261
|
||||
SYS_MQ_OPEN = 262
|
||||
SYS_MQ_UNLINK = 263
|
||||
SYS_MQ_TIMEDSEND = 264
|
||||
SYS_MQ_TIMEDRECEIVE = 265
|
||||
SYS_MQ_NOTIFY = 266
|
||||
SYS_MQ_GETSETATTR = 267
|
||||
SYS_KEXEC_LOAD = 268
|
||||
SYS_ADD_KEY = 269
|
||||
SYS_REQUEST_KEY = 270
|
||||
SYS_KEYCTL = 271
|
||||
SYS_WAITID = 272
|
||||
SYS_IOPRIO_SET = 273
|
||||
SYS_IOPRIO_GET = 274
|
||||
SYS_INOTIFY_INIT = 275
|
||||
SYS_INOTIFY_ADD_WATCH = 276
|
||||
SYS_INOTIFY_RM_WATCH = 277
|
||||
SYS_SPU_RUN = 278
|
||||
SYS_SPU_CREATE = 279
|
||||
SYS_PSELECT6 = 280
|
||||
SYS_PPOLL = 281
|
||||
SYS_UNSHARE = 282
|
||||
SYS_SPLICE = 283
|
||||
SYS_TEE = 284
|
||||
SYS_VMSPLICE = 285
|
||||
SYS_OPENAT = 286
|
||||
SYS_MKDIRAT = 287
|
||||
SYS_MKNODAT = 288
|
||||
SYS_FCHOWNAT = 289
|
||||
SYS_FUTIMESAT = 290
|
||||
SYS_NEWFSTATAT = 291
|
||||
SYS_UNLINKAT = 292
|
||||
SYS_RENAMEAT = 293
|
||||
SYS_LINKAT = 294
|
||||
SYS_SYMLINKAT = 295
|
||||
SYS_READLINKAT = 296
|
||||
SYS_FCHMODAT = 297
|
||||
SYS_FACCESSAT = 298
|
||||
SYS_GET_ROBUST_LIST = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_MOVE_PAGES = 301
|
||||
SYS_GETCPU = 302
|
||||
SYS_EPOLL_PWAIT = 303
|
||||
SYS_UTIMENSAT = 304
|
||||
SYS_SIGNALFD = 305
|
||||
SYS_TIMERFD_CREATE = 306
|
||||
SYS_EVENTFD = 307
|
||||
SYS_SYNC_FILE_RANGE2 = 308
|
||||
SYS_FALLOCATE = 309
|
||||
SYS_SUBPAGE_PROT = 310
|
||||
SYS_TIMERFD_SETTIME = 311
|
||||
SYS_TIMERFD_GETTIME = 312
|
||||
SYS_SIGNALFD4 = 313
|
||||
SYS_EVENTFD2 = 314
|
||||
SYS_EPOLL_CREATE1 = 315
|
||||
SYS_DUP3 = 316
|
||||
SYS_PIPE2 = 317
|
||||
SYS_INOTIFY_INIT1 = 318
|
||||
SYS_PERF_EVENT_OPEN = 319
|
||||
SYS_PREADV = 320
|
||||
SYS_PWRITEV = 321
|
||||
SYS_RT_TGSIGQUEUEINFO = 322
|
||||
SYS_FANOTIFY_INIT = 323
|
||||
SYS_FANOTIFY_MARK = 324
|
||||
SYS_PRLIMIT64 = 325
|
||||
SYS_SOCKET = 326
|
||||
SYS_BIND = 327
|
||||
SYS_CONNECT = 328
|
||||
SYS_LISTEN = 329
|
||||
SYS_ACCEPT = 330
|
||||
SYS_GETSOCKNAME = 331
|
||||
SYS_GETPEERNAME = 332
|
||||
SYS_SOCKETPAIR = 333
|
||||
SYS_SEND = 334
|
||||
SYS_SENDTO = 335
|
||||
SYS_RECV = 336
|
||||
SYS_RECVFROM = 337
|
||||
SYS_SHUTDOWN = 338
|
||||
SYS_SETSOCKOPT = 339
|
||||
SYS_GETSOCKOPT = 340
|
||||
SYS_SENDMSG = 341
|
||||
SYS_RECVMSG = 342
|
||||
SYS_RECVMMSG = 343
|
||||
SYS_ACCEPT4 = 344
|
||||
SYS_NAME_TO_HANDLE_AT = 345
|
||||
SYS_OPEN_BY_HANDLE_AT = 346
|
||||
SYS_CLOCK_ADJTIME = 347
|
||||
SYS_SYNCFS = 348
|
||||
SYS_SENDMMSG = 349
|
||||
SYS_SETNS = 350
|
||||
SYS_PROCESS_VM_READV = 351
|
||||
SYS_PROCESS_VM_WRITEV = 352
|
||||
SYS_FINIT_MODULE = 353
|
||||
SYS_KCMP = 354
|
||||
SYS_SCHED_SETATTR = 355
|
||||
SYS_SCHED_GETATTR = 356
|
||||
SYS_RENAMEAT2 = 357
|
||||
SYS_SECCOMP = 358
|
||||
SYS_GETRANDOM = 359
|
||||
SYS_MEMFD_CREATE = 360
|
||||
SYS_BPF = 361
|
||||
SYS_EXECVEAT = 362
|
||||
SYS_SWITCH_ENDIAN = 363
|
||||
SYS_USERFAULTFD = 364
|
||||
SYS_MEMBARRIER = 365
|
||||
SYS_MLOCK2 = 378
|
||||
SYS_COPY_FILE_RANGE = 379
|
||||
SYS_PREADV2 = 380
|
||||
SYS_PWRITEV2 = 381
|
||||
SYS_KEXEC_FILE_LOAD = 382
|
||||
SYS_STATX = 383
|
||||
SYS_PKEY_ALLOC = 384
|
||||
SYS_PKEY_FREE = 385
|
||||
SYS_PKEY_MPROTECT = 386
|
||||
SYS_RSEQ = 387
|
||||
SYS_IO_PGETEVENTS = 388
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAITPID = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_TIME = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BREAK = 17
|
||||
SYS_OLDSTAT = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_STIME = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_OLDFSTAT = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_STTY = 31
|
||||
SYS_GTTY = 32
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_FTIME = 35
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_PROF = 44
|
||||
SYS_BRK = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_LOCK = 53
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_MPX = 56
|
||||
SYS_SETPGID = 57
|
||||
SYS_ULIMIT = 58
|
||||
SYS_OLDOLDUNAME = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SGETMASK = 68
|
||||
SYS_SSETMASK = 69
|
||||
SYS_SETREUID = 70
|
||||
SYS_SETREGID = 71
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRLIMIT = 76
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_GETGROUPS = 80
|
||||
SYS_SETGROUPS = 81
|
||||
SYS_SELECT = 82
|
||||
SYS_SYMLINK = 83
|
||||
SYS_OLDLSTAT = 84
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_FCHOWN = 95
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_PROFIL = 98
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_IOPERM = 101
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_OLDUNAME = 109
|
||||
SYS_IOPL = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_VM86 = 113
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_MODIFY_LDT = 123
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_SETFSUID = 138
|
||||
SYS_SETFSGID = 139
|
||||
SYS__LLSEEK = 140
|
||||
SYS_GETDENTS = 141
|
||||
SYS__NEWSELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_SETRESUID = 164
|
||||
SYS_GETRESUID = 165
|
||||
SYS_QUERY_MODULE = 166
|
||||
SYS_POLL = 167
|
||||
SYS_NFSSERVCTL = 168
|
||||
SYS_SETRESGID = 169
|
||||
SYS_GETRESGID = 170
|
||||
SYS_PRCTL = 171
|
||||
SYS_RT_SIGRETURN = 172
|
||||
SYS_RT_SIGACTION = 173
|
||||
SYS_RT_SIGPROCMASK = 174
|
||||
SYS_RT_SIGPENDING = 175
|
||||
SYS_RT_SIGTIMEDWAIT = 176
|
||||
SYS_RT_SIGQUEUEINFO = 177
|
||||
SYS_RT_SIGSUSPEND = 178
|
||||
SYS_PREAD64 = 179
|
||||
SYS_PWRITE64 = 180
|
||||
SYS_CHOWN = 181
|
||||
SYS_GETCWD = 182
|
||||
SYS_CAPGET = 183
|
||||
SYS_CAPSET = 184
|
||||
SYS_SIGALTSTACK = 185
|
||||
SYS_SENDFILE = 186
|
||||
SYS_GETPMSG = 187
|
||||
SYS_PUTPMSG = 188
|
||||
SYS_VFORK = 189
|
||||
SYS_UGETRLIMIT = 190
|
||||
SYS_READAHEAD = 191
|
||||
SYS_PCICONFIG_READ = 198
|
||||
SYS_PCICONFIG_WRITE = 199
|
||||
SYS_PCICONFIG_IOBASE = 200
|
||||
SYS_MULTIPLEXER = 201
|
||||
SYS_GETDENTS64 = 202
|
||||
SYS_PIVOT_ROOT = 203
|
||||
SYS_MADVISE = 205
|
||||
SYS_MINCORE = 206
|
||||
SYS_GETTID = 207
|
||||
SYS_TKILL = 208
|
||||
SYS_SETXATTR = 209
|
||||
SYS_LSETXATTR = 210
|
||||
SYS_FSETXATTR = 211
|
||||
SYS_GETXATTR = 212
|
||||
SYS_LGETXATTR = 213
|
||||
SYS_FGETXATTR = 214
|
||||
SYS_LISTXATTR = 215
|
||||
SYS_LLISTXATTR = 216
|
||||
SYS_FLISTXATTR = 217
|
||||
SYS_REMOVEXATTR = 218
|
||||
SYS_LREMOVEXATTR = 219
|
||||
SYS_FREMOVEXATTR = 220
|
||||
SYS_FUTEX = 221
|
||||
SYS_SCHED_SETAFFINITY = 222
|
||||
SYS_SCHED_GETAFFINITY = 223
|
||||
SYS_TUXCALL = 225
|
||||
SYS_IO_SETUP = 227
|
||||
SYS_IO_DESTROY = 228
|
||||
SYS_IO_GETEVENTS = 229
|
||||
SYS_IO_SUBMIT = 230
|
||||
SYS_IO_CANCEL = 231
|
||||
SYS_SET_TID_ADDRESS = 232
|
||||
SYS_FADVISE64 = 233
|
||||
SYS_EXIT_GROUP = 234
|
||||
SYS_LOOKUP_DCOOKIE = 235
|
||||
SYS_EPOLL_CREATE = 236
|
||||
SYS_EPOLL_CTL = 237
|
||||
SYS_EPOLL_WAIT = 238
|
||||
SYS_REMAP_FILE_PAGES = 239
|
||||
SYS_TIMER_CREATE = 240
|
||||
SYS_TIMER_SETTIME = 241
|
||||
SYS_TIMER_GETTIME = 242
|
||||
SYS_TIMER_GETOVERRUN = 243
|
||||
SYS_TIMER_DELETE = 244
|
||||
SYS_CLOCK_SETTIME = 245
|
||||
SYS_CLOCK_GETTIME = 246
|
||||
SYS_CLOCK_GETRES = 247
|
||||
SYS_CLOCK_NANOSLEEP = 248
|
||||
SYS_SWAPCONTEXT = 249
|
||||
SYS_TGKILL = 250
|
||||
SYS_UTIMES = 251
|
||||
SYS_STATFS64 = 252
|
||||
SYS_FSTATFS64 = 253
|
||||
SYS_RTAS = 255
|
||||
SYS_SYS_DEBUG_SETCONTEXT = 256
|
||||
SYS_MIGRATE_PAGES = 258
|
||||
SYS_MBIND = 259
|
||||
SYS_GET_MEMPOLICY = 260
|
||||
SYS_SET_MEMPOLICY = 261
|
||||
SYS_MQ_OPEN = 262
|
||||
SYS_MQ_UNLINK = 263
|
||||
SYS_MQ_TIMEDSEND = 264
|
||||
SYS_MQ_TIMEDRECEIVE = 265
|
||||
SYS_MQ_NOTIFY = 266
|
||||
SYS_MQ_GETSETATTR = 267
|
||||
SYS_KEXEC_LOAD = 268
|
||||
SYS_ADD_KEY = 269
|
||||
SYS_REQUEST_KEY = 270
|
||||
SYS_KEYCTL = 271
|
||||
SYS_WAITID = 272
|
||||
SYS_IOPRIO_SET = 273
|
||||
SYS_IOPRIO_GET = 274
|
||||
SYS_INOTIFY_INIT = 275
|
||||
SYS_INOTIFY_ADD_WATCH = 276
|
||||
SYS_INOTIFY_RM_WATCH = 277
|
||||
SYS_SPU_RUN = 278
|
||||
SYS_SPU_CREATE = 279
|
||||
SYS_PSELECT6 = 280
|
||||
SYS_PPOLL = 281
|
||||
SYS_UNSHARE = 282
|
||||
SYS_SPLICE = 283
|
||||
SYS_TEE = 284
|
||||
SYS_VMSPLICE = 285
|
||||
SYS_OPENAT = 286
|
||||
SYS_MKDIRAT = 287
|
||||
SYS_MKNODAT = 288
|
||||
SYS_FCHOWNAT = 289
|
||||
SYS_FUTIMESAT = 290
|
||||
SYS_NEWFSTATAT = 291
|
||||
SYS_UNLINKAT = 292
|
||||
SYS_RENAMEAT = 293
|
||||
SYS_LINKAT = 294
|
||||
SYS_SYMLINKAT = 295
|
||||
SYS_READLINKAT = 296
|
||||
SYS_FCHMODAT = 297
|
||||
SYS_FACCESSAT = 298
|
||||
SYS_GET_ROBUST_LIST = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_MOVE_PAGES = 301
|
||||
SYS_GETCPU = 302
|
||||
SYS_EPOLL_PWAIT = 303
|
||||
SYS_UTIMENSAT = 304
|
||||
SYS_SIGNALFD = 305
|
||||
SYS_TIMERFD_CREATE = 306
|
||||
SYS_EVENTFD = 307
|
||||
SYS_SYNC_FILE_RANGE2 = 308
|
||||
SYS_FALLOCATE = 309
|
||||
SYS_SUBPAGE_PROT = 310
|
||||
SYS_TIMERFD_SETTIME = 311
|
||||
SYS_TIMERFD_GETTIME = 312
|
||||
SYS_SIGNALFD4 = 313
|
||||
SYS_EVENTFD2 = 314
|
||||
SYS_EPOLL_CREATE1 = 315
|
||||
SYS_DUP3 = 316
|
||||
SYS_PIPE2 = 317
|
||||
SYS_INOTIFY_INIT1 = 318
|
||||
SYS_PERF_EVENT_OPEN = 319
|
||||
SYS_PREADV = 320
|
||||
SYS_PWRITEV = 321
|
||||
SYS_RT_TGSIGQUEUEINFO = 322
|
||||
SYS_FANOTIFY_INIT = 323
|
||||
SYS_FANOTIFY_MARK = 324
|
||||
SYS_PRLIMIT64 = 325
|
||||
SYS_SOCKET = 326
|
||||
SYS_BIND = 327
|
||||
SYS_CONNECT = 328
|
||||
SYS_LISTEN = 329
|
||||
SYS_ACCEPT = 330
|
||||
SYS_GETSOCKNAME = 331
|
||||
SYS_GETPEERNAME = 332
|
||||
SYS_SOCKETPAIR = 333
|
||||
SYS_SEND = 334
|
||||
SYS_SENDTO = 335
|
||||
SYS_RECV = 336
|
||||
SYS_RECVFROM = 337
|
||||
SYS_SHUTDOWN = 338
|
||||
SYS_SETSOCKOPT = 339
|
||||
SYS_GETSOCKOPT = 340
|
||||
SYS_SENDMSG = 341
|
||||
SYS_RECVMSG = 342
|
||||
SYS_RECVMMSG = 343
|
||||
SYS_ACCEPT4 = 344
|
||||
SYS_NAME_TO_HANDLE_AT = 345
|
||||
SYS_OPEN_BY_HANDLE_AT = 346
|
||||
SYS_CLOCK_ADJTIME = 347
|
||||
SYS_SYNCFS = 348
|
||||
SYS_SENDMMSG = 349
|
||||
SYS_SETNS = 350
|
||||
SYS_PROCESS_VM_READV = 351
|
||||
SYS_PROCESS_VM_WRITEV = 352
|
||||
SYS_FINIT_MODULE = 353
|
||||
SYS_KCMP = 354
|
||||
SYS_SCHED_SETATTR = 355
|
||||
SYS_SCHED_GETATTR = 356
|
||||
SYS_RENAMEAT2 = 357
|
||||
SYS_SECCOMP = 358
|
||||
SYS_GETRANDOM = 359
|
||||
SYS_MEMFD_CREATE = 360
|
||||
SYS_BPF = 361
|
||||
SYS_EXECVEAT = 362
|
||||
SYS_SWITCH_ENDIAN = 363
|
||||
SYS_USERFAULTFD = 364
|
||||
SYS_MEMBARRIER = 365
|
||||
SYS_MLOCK2 = 378
|
||||
SYS_COPY_FILE_RANGE = 379
|
||||
SYS_PREADV2 = 380
|
||||
SYS_PWRITEV2 = 381
|
||||
SYS_KEXEC_FILE_LOAD = 382
|
||||
SYS_STATX = 383
|
||||
SYS_PKEY_ALLOC = 384
|
||||
SYS_PKEY_FREE = 385
|
||||
SYS_PKEY_MPROTECT = 386
|
||||
SYS_RSEQ = 387
|
||||
SYS_IO_PGETEVENTS = 388
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
599
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
599
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
|
|
@ -7,302 +7,305 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_IO_SETUP = 0
|
||||
SYS_IO_DESTROY = 1
|
||||
SYS_IO_SUBMIT = 2
|
||||
SYS_IO_CANCEL = 3
|
||||
SYS_IO_GETEVENTS = 4
|
||||
SYS_SETXATTR = 5
|
||||
SYS_LSETXATTR = 6
|
||||
SYS_FSETXATTR = 7
|
||||
SYS_GETXATTR = 8
|
||||
SYS_LGETXATTR = 9
|
||||
SYS_FGETXATTR = 10
|
||||
SYS_LISTXATTR = 11
|
||||
SYS_LLISTXATTR = 12
|
||||
SYS_FLISTXATTR = 13
|
||||
SYS_REMOVEXATTR = 14
|
||||
SYS_LREMOVEXATTR = 15
|
||||
SYS_FREMOVEXATTR = 16
|
||||
SYS_GETCWD = 17
|
||||
SYS_LOOKUP_DCOOKIE = 18
|
||||
SYS_EVENTFD2 = 19
|
||||
SYS_EPOLL_CREATE1 = 20
|
||||
SYS_EPOLL_CTL = 21
|
||||
SYS_EPOLL_PWAIT = 22
|
||||
SYS_DUP = 23
|
||||
SYS_DUP3 = 24
|
||||
SYS_FCNTL = 25
|
||||
SYS_INOTIFY_INIT1 = 26
|
||||
SYS_INOTIFY_ADD_WATCH = 27
|
||||
SYS_INOTIFY_RM_WATCH = 28
|
||||
SYS_IOCTL = 29
|
||||
SYS_IOPRIO_SET = 30
|
||||
SYS_IOPRIO_GET = 31
|
||||
SYS_FLOCK = 32
|
||||
SYS_MKNODAT = 33
|
||||
SYS_MKDIRAT = 34
|
||||
SYS_UNLINKAT = 35
|
||||
SYS_SYMLINKAT = 36
|
||||
SYS_LINKAT = 37
|
||||
SYS_UMOUNT2 = 39
|
||||
SYS_MOUNT = 40
|
||||
SYS_PIVOT_ROOT = 41
|
||||
SYS_NFSSERVCTL = 42
|
||||
SYS_STATFS = 43
|
||||
SYS_FSTATFS = 44
|
||||
SYS_TRUNCATE = 45
|
||||
SYS_FTRUNCATE = 46
|
||||
SYS_FALLOCATE = 47
|
||||
SYS_FACCESSAT = 48
|
||||
SYS_CHDIR = 49
|
||||
SYS_FCHDIR = 50
|
||||
SYS_CHROOT = 51
|
||||
SYS_FCHMOD = 52
|
||||
SYS_FCHMODAT = 53
|
||||
SYS_FCHOWNAT = 54
|
||||
SYS_FCHOWN = 55
|
||||
SYS_OPENAT = 56
|
||||
SYS_CLOSE = 57
|
||||
SYS_VHANGUP = 58
|
||||
SYS_PIPE2 = 59
|
||||
SYS_QUOTACTL = 60
|
||||
SYS_GETDENTS64 = 61
|
||||
SYS_LSEEK = 62
|
||||
SYS_READ = 63
|
||||
SYS_WRITE = 64
|
||||
SYS_READV = 65
|
||||
SYS_WRITEV = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_PREADV = 69
|
||||
SYS_PWRITEV = 70
|
||||
SYS_SENDFILE = 71
|
||||
SYS_PSELECT6 = 72
|
||||
SYS_PPOLL = 73
|
||||
SYS_SIGNALFD4 = 74
|
||||
SYS_VMSPLICE = 75
|
||||
SYS_SPLICE = 76
|
||||
SYS_TEE = 77
|
||||
SYS_READLINKAT = 78
|
||||
SYS_FSTATAT = 79
|
||||
SYS_FSTAT = 80
|
||||
SYS_SYNC = 81
|
||||
SYS_FSYNC = 82
|
||||
SYS_FDATASYNC = 83
|
||||
SYS_SYNC_FILE_RANGE = 84
|
||||
SYS_TIMERFD_CREATE = 85
|
||||
SYS_TIMERFD_SETTIME = 86
|
||||
SYS_TIMERFD_GETTIME = 87
|
||||
SYS_UTIMENSAT = 88
|
||||
SYS_ACCT = 89
|
||||
SYS_CAPGET = 90
|
||||
SYS_CAPSET = 91
|
||||
SYS_PERSONALITY = 92
|
||||
SYS_EXIT = 93
|
||||
SYS_EXIT_GROUP = 94
|
||||
SYS_WAITID = 95
|
||||
SYS_SET_TID_ADDRESS = 96
|
||||
SYS_UNSHARE = 97
|
||||
SYS_FUTEX = 98
|
||||
SYS_SET_ROBUST_LIST = 99
|
||||
SYS_GET_ROBUST_LIST = 100
|
||||
SYS_NANOSLEEP = 101
|
||||
SYS_GETITIMER = 102
|
||||
SYS_SETITIMER = 103
|
||||
SYS_KEXEC_LOAD = 104
|
||||
SYS_INIT_MODULE = 105
|
||||
SYS_DELETE_MODULE = 106
|
||||
SYS_TIMER_CREATE = 107
|
||||
SYS_TIMER_GETTIME = 108
|
||||
SYS_TIMER_GETOVERRUN = 109
|
||||
SYS_TIMER_SETTIME = 110
|
||||
SYS_TIMER_DELETE = 111
|
||||
SYS_CLOCK_SETTIME = 112
|
||||
SYS_CLOCK_GETTIME = 113
|
||||
SYS_CLOCK_GETRES = 114
|
||||
SYS_CLOCK_NANOSLEEP = 115
|
||||
SYS_SYSLOG = 116
|
||||
SYS_PTRACE = 117
|
||||
SYS_SCHED_SETPARAM = 118
|
||||
SYS_SCHED_SETSCHEDULER = 119
|
||||
SYS_SCHED_GETSCHEDULER = 120
|
||||
SYS_SCHED_GETPARAM = 121
|
||||
SYS_SCHED_SETAFFINITY = 122
|
||||
SYS_SCHED_GETAFFINITY = 123
|
||||
SYS_SCHED_YIELD = 124
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 125
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 126
|
||||
SYS_SCHED_RR_GET_INTERVAL = 127
|
||||
SYS_RESTART_SYSCALL = 128
|
||||
SYS_KILL = 129
|
||||
SYS_TKILL = 130
|
||||
SYS_TGKILL = 131
|
||||
SYS_SIGALTSTACK = 132
|
||||
SYS_RT_SIGSUSPEND = 133
|
||||
SYS_RT_SIGACTION = 134
|
||||
SYS_RT_SIGPROCMASK = 135
|
||||
SYS_RT_SIGPENDING = 136
|
||||
SYS_RT_SIGTIMEDWAIT = 137
|
||||
SYS_RT_SIGQUEUEINFO = 138
|
||||
SYS_RT_SIGRETURN = 139
|
||||
SYS_SETPRIORITY = 140
|
||||
SYS_GETPRIORITY = 141
|
||||
SYS_REBOOT = 142
|
||||
SYS_SETREGID = 143
|
||||
SYS_SETGID = 144
|
||||
SYS_SETREUID = 145
|
||||
SYS_SETUID = 146
|
||||
SYS_SETRESUID = 147
|
||||
SYS_GETRESUID = 148
|
||||
SYS_SETRESGID = 149
|
||||
SYS_GETRESGID = 150
|
||||
SYS_SETFSUID = 151
|
||||
SYS_SETFSGID = 152
|
||||
SYS_TIMES = 153
|
||||
SYS_SETPGID = 154
|
||||
SYS_GETPGID = 155
|
||||
SYS_GETSID = 156
|
||||
SYS_SETSID = 157
|
||||
SYS_GETGROUPS = 158
|
||||
SYS_SETGROUPS = 159
|
||||
SYS_UNAME = 160
|
||||
SYS_SETHOSTNAME = 161
|
||||
SYS_SETDOMAINNAME = 162
|
||||
SYS_GETRLIMIT = 163
|
||||
SYS_SETRLIMIT = 164
|
||||
SYS_GETRUSAGE = 165
|
||||
SYS_UMASK = 166
|
||||
SYS_PRCTL = 167
|
||||
SYS_GETCPU = 168
|
||||
SYS_GETTIMEOFDAY = 169
|
||||
SYS_SETTIMEOFDAY = 170
|
||||
SYS_ADJTIMEX = 171
|
||||
SYS_GETPID = 172
|
||||
SYS_GETPPID = 173
|
||||
SYS_GETUID = 174
|
||||
SYS_GETEUID = 175
|
||||
SYS_GETGID = 176
|
||||
SYS_GETEGID = 177
|
||||
SYS_GETTID = 178
|
||||
SYS_SYSINFO = 179
|
||||
SYS_MQ_OPEN = 180
|
||||
SYS_MQ_UNLINK = 181
|
||||
SYS_MQ_TIMEDSEND = 182
|
||||
SYS_MQ_TIMEDRECEIVE = 183
|
||||
SYS_MQ_NOTIFY = 184
|
||||
SYS_MQ_GETSETATTR = 185
|
||||
SYS_MSGGET = 186
|
||||
SYS_MSGCTL = 187
|
||||
SYS_MSGRCV = 188
|
||||
SYS_MSGSND = 189
|
||||
SYS_SEMGET = 190
|
||||
SYS_SEMCTL = 191
|
||||
SYS_SEMTIMEDOP = 192
|
||||
SYS_SEMOP = 193
|
||||
SYS_SHMGET = 194
|
||||
SYS_SHMCTL = 195
|
||||
SYS_SHMAT = 196
|
||||
SYS_SHMDT = 197
|
||||
SYS_SOCKET = 198
|
||||
SYS_SOCKETPAIR = 199
|
||||
SYS_BIND = 200
|
||||
SYS_LISTEN = 201
|
||||
SYS_ACCEPT = 202
|
||||
SYS_CONNECT = 203
|
||||
SYS_GETSOCKNAME = 204
|
||||
SYS_GETPEERNAME = 205
|
||||
SYS_SENDTO = 206
|
||||
SYS_RECVFROM = 207
|
||||
SYS_SETSOCKOPT = 208
|
||||
SYS_GETSOCKOPT = 209
|
||||
SYS_SHUTDOWN = 210
|
||||
SYS_SENDMSG = 211
|
||||
SYS_RECVMSG = 212
|
||||
SYS_READAHEAD = 213
|
||||
SYS_BRK = 214
|
||||
SYS_MUNMAP = 215
|
||||
SYS_MREMAP = 216
|
||||
SYS_ADD_KEY = 217
|
||||
SYS_REQUEST_KEY = 218
|
||||
SYS_KEYCTL = 219
|
||||
SYS_CLONE = 220
|
||||
SYS_EXECVE = 221
|
||||
SYS_MMAP = 222
|
||||
SYS_FADVISE64 = 223
|
||||
SYS_SWAPON = 224
|
||||
SYS_SWAPOFF = 225
|
||||
SYS_MPROTECT = 226
|
||||
SYS_MSYNC = 227
|
||||
SYS_MLOCK = 228
|
||||
SYS_MUNLOCK = 229
|
||||
SYS_MLOCKALL = 230
|
||||
SYS_MUNLOCKALL = 231
|
||||
SYS_MINCORE = 232
|
||||
SYS_MADVISE = 233
|
||||
SYS_REMAP_FILE_PAGES = 234
|
||||
SYS_MBIND = 235
|
||||
SYS_GET_MEMPOLICY = 236
|
||||
SYS_SET_MEMPOLICY = 237
|
||||
SYS_MIGRATE_PAGES = 238
|
||||
SYS_MOVE_PAGES = 239
|
||||
SYS_RT_TGSIGQUEUEINFO = 240
|
||||
SYS_PERF_EVENT_OPEN = 241
|
||||
SYS_ACCEPT4 = 242
|
||||
SYS_RECVMMSG = 243
|
||||
SYS_ARCH_SPECIFIC_SYSCALL = 244
|
||||
SYS_WAIT4 = 260
|
||||
SYS_PRLIMIT64 = 261
|
||||
SYS_FANOTIFY_INIT = 262
|
||||
SYS_FANOTIFY_MARK = 263
|
||||
SYS_NAME_TO_HANDLE_AT = 264
|
||||
SYS_OPEN_BY_HANDLE_AT = 265
|
||||
SYS_CLOCK_ADJTIME = 266
|
||||
SYS_SYNCFS = 267
|
||||
SYS_SETNS = 268
|
||||
SYS_SENDMMSG = 269
|
||||
SYS_PROCESS_VM_READV = 270
|
||||
SYS_PROCESS_VM_WRITEV = 271
|
||||
SYS_KCMP = 272
|
||||
SYS_FINIT_MODULE = 273
|
||||
SYS_SCHED_SETATTR = 274
|
||||
SYS_SCHED_GETATTR = 275
|
||||
SYS_RENAMEAT2 = 276
|
||||
SYS_SECCOMP = 277
|
||||
SYS_GETRANDOM = 278
|
||||
SYS_MEMFD_CREATE = 279
|
||||
SYS_BPF = 280
|
||||
SYS_EXECVEAT = 281
|
||||
SYS_USERFAULTFD = 282
|
||||
SYS_MEMBARRIER = 283
|
||||
SYS_MLOCK2 = 284
|
||||
SYS_COPY_FILE_RANGE = 285
|
||||
SYS_PREADV2 = 286
|
||||
SYS_PWRITEV2 = 287
|
||||
SYS_PKEY_MPROTECT = 288
|
||||
SYS_PKEY_ALLOC = 289
|
||||
SYS_PKEY_FREE = 290
|
||||
SYS_STATX = 291
|
||||
SYS_IO_PGETEVENTS = 292
|
||||
SYS_RSEQ = 293
|
||||
SYS_KEXEC_FILE_LOAD = 294
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_IO_SETUP = 0
|
||||
SYS_IO_DESTROY = 1
|
||||
SYS_IO_SUBMIT = 2
|
||||
SYS_IO_CANCEL = 3
|
||||
SYS_IO_GETEVENTS = 4
|
||||
SYS_SETXATTR = 5
|
||||
SYS_LSETXATTR = 6
|
||||
SYS_FSETXATTR = 7
|
||||
SYS_GETXATTR = 8
|
||||
SYS_LGETXATTR = 9
|
||||
SYS_FGETXATTR = 10
|
||||
SYS_LISTXATTR = 11
|
||||
SYS_LLISTXATTR = 12
|
||||
SYS_FLISTXATTR = 13
|
||||
SYS_REMOVEXATTR = 14
|
||||
SYS_LREMOVEXATTR = 15
|
||||
SYS_FREMOVEXATTR = 16
|
||||
SYS_GETCWD = 17
|
||||
SYS_LOOKUP_DCOOKIE = 18
|
||||
SYS_EVENTFD2 = 19
|
||||
SYS_EPOLL_CREATE1 = 20
|
||||
SYS_EPOLL_CTL = 21
|
||||
SYS_EPOLL_PWAIT = 22
|
||||
SYS_DUP = 23
|
||||
SYS_DUP3 = 24
|
||||
SYS_FCNTL = 25
|
||||
SYS_INOTIFY_INIT1 = 26
|
||||
SYS_INOTIFY_ADD_WATCH = 27
|
||||
SYS_INOTIFY_RM_WATCH = 28
|
||||
SYS_IOCTL = 29
|
||||
SYS_IOPRIO_SET = 30
|
||||
SYS_IOPRIO_GET = 31
|
||||
SYS_FLOCK = 32
|
||||
SYS_MKNODAT = 33
|
||||
SYS_MKDIRAT = 34
|
||||
SYS_UNLINKAT = 35
|
||||
SYS_SYMLINKAT = 36
|
||||
SYS_LINKAT = 37
|
||||
SYS_UMOUNT2 = 39
|
||||
SYS_MOUNT = 40
|
||||
SYS_PIVOT_ROOT = 41
|
||||
SYS_NFSSERVCTL = 42
|
||||
SYS_STATFS = 43
|
||||
SYS_FSTATFS = 44
|
||||
SYS_TRUNCATE = 45
|
||||
SYS_FTRUNCATE = 46
|
||||
SYS_FALLOCATE = 47
|
||||
SYS_FACCESSAT = 48
|
||||
SYS_CHDIR = 49
|
||||
SYS_FCHDIR = 50
|
||||
SYS_CHROOT = 51
|
||||
SYS_FCHMOD = 52
|
||||
SYS_FCHMODAT = 53
|
||||
SYS_FCHOWNAT = 54
|
||||
SYS_FCHOWN = 55
|
||||
SYS_OPENAT = 56
|
||||
SYS_CLOSE = 57
|
||||
SYS_VHANGUP = 58
|
||||
SYS_PIPE2 = 59
|
||||
SYS_QUOTACTL = 60
|
||||
SYS_GETDENTS64 = 61
|
||||
SYS_LSEEK = 62
|
||||
SYS_READ = 63
|
||||
SYS_WRITE = 64
|
||||
SYS_READV = 65
|
||||
SYS_WRITEV = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_PREADV = 69
|
||||
SYS_PWRITEV = 70
|
||||
SYS_SENDFILE = 71
|
||||
SYS_PSELECT6 = 72
|
||||
SYS_PPOLL = 73
|
||||
SYS_SIGNALFD4 = 74
|
||||
SYS_VMSPLICE = 75
|
||||
SYS_SPLICE = 76
|
||||
SYS_TEE = 77
|
||||
SYS_READLINKAT = 78
|
||||
SYS_FSTATAT = 79
|
||||
SYS_FSTAT = 80
|
||||
SYS_SYNC = 81
|
||||
SYS_FSYNC = 82
|
||||
SYS_FDATASYNC = 83
|
||||
SYS_SYNC_FILE_RANGE = 84
|
||||
SYS_TIMERFD_CREATE = 85
|
||||
SYS_TIMERFD_SETTIME = 86
|
||||
SYS_TIMERFD_GETTIME = 87
|
||||
SYS_UTIMENSAT = 88
|
||||
SYS_ACCT = 89
|
||||
SYS_CAPGET = 90
|
||||
SYS_CAPSET = 91
|
||||
SYS_PERSONALITY = 92
|
||||
SYS_EXIT = 93
|
||||
SYS_EXIT_GROUP = 94
|
||||
SYS_WAITID = 95
|
||||
SYS_SET_TID_ADDRESS = 96
|
||||
SYS_UNSHARE = 97
|
||||
SYS_FUTEX = 98
|
||||
SYS_SET_ROBUST_LIST = 99
|
||||
SYS_GET_ROBUST_LIST = 100
|
||||
SYS_NANOSLEEP = 101
|
||||
SYS_GETITIMER = 102
|
||||
SYS_SETITIMER = 103
|
||||
SYS_KEXEC_LOAD = 104
|
||||
SYS_INIT_MODULE = 105
|
||||
SYS_DELETE_MODULE = 106
|
||||
SYS_TIMER_CREATE = 107
|
||||
SYS_TIMER_GETTIME = 108
|
||||
SYS_TIMER_GETOVERRUN = 109
|
||||
SYS_TIMER_SETTIME = 110
|
||||
SYS_TIMER_DELETE = 111
|
||||
SYS_CLOCK_SETTIME = 112
|
||||
SYS_CLOCK_GETTIME = 113
|
||||
SYS_CLOCK_GETRES = 114
|
||||
SYS_CLOCK_NANOSLEEP = 115
|
||||
SYS_SYSLOG = 116
|
||||
SYS_PTRACE = 117
|
||||
SYS_SCHED_SETPARAM = 118
|
||||
SYS_SCHED_SETSCHEDULER = 119
|
||||
SYS_SCHED_GETSCHEDULER = 120
|
||||
SYS_SCHED_GETPARAM = 121
|
||||
SYS_SCHED_SETAFFINITY = 122
|
||||
SYS_SCHED_GETAFFINITY = 123
|
||||
SYS_SCHED_YIELD = 124
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 125
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 126
|
||||
SYS_SCHED_RR_GET_INTERVAL = 127
|
||||
SYS_RESTART_SYSCALL = 128
|
||||
SYS_KILL = 129
|
||||
SYS_TKILL = 130
|
||||
SYS_TGKILL = 131
|
||||
SYS_SIGALTSTACK = 132
|
||||
SYS_RT_SIGSUSPEND = 133
|
||||
SYS_RT_SIGACTION = 134
|
||||
SYS_RT_SIGPROCMASK = 135
|
||||
SYS_RT_SIGPENDING = 136
|
||||
SYS_RT_SIGTIMEDWAIT = 137
|
||||
SYS_RT_SIGQUEUEINFO = 138
|
||||
SYS_RT_SIGRETURN = 139
|
||||
SYS_SETPRIORITY = 140
|
||||
SYS_GETPRIORITY = 141
|
||||
SYS_REBOOT = 142
|
||||
SYS_SETREGID = 143
|
||||
SYS_SETGID = 144
|
||||
SYS_SETREUID = 145
|
||||
SYS_SETUID = 146
|
||||
SYS_SETRESUID = 147
|
||||
SYS_GETRESUID = 148
|
||||
SYS_SETRESGID = 149
|
||||
SYS_GETRESGID = 150
|
||||
SYS_SETFSUID = 151
|
||||
SYS_SETFSGID = 152
|
||||
SYS_TIMES = 153
|
||||
SYS_SETPGID = 154
|
||||
SYS_GETPGID = 155
|
||||
SYS_GETSID = 156
|
||||
SYS_SETSID = 157
|
||||
SYS_GETGROUPS = 158
|
||||
SYS_SETGROUPS = 159
|
||||
SYS_UNAME = 160
|
||||
SYS_SETHOSTNAME = 161
|
||||
SYS_SETDOMAINNAME = 162
|
||||
SYS_GETRLIMIT = 163
|
||||
SYS_SETRLIMIT = 164
|
||||
SYS_GETRUSAGE = 165
|
||||
SYS_UMASK = 166
|
||||
SYS_PRCTL = 167
|
||||
SYS_GETCPU = 168
|
||||
SYS_GETTIMEOFDAY = 169
|
||||
SYS_SETTIMEOFDAY = 170
|
||||
SYS_ADJTIMEX = 171
|
||||
SYS_GETPID = 172
|
||||
SYS_GETPPID = 173
|
||||
SYS_GETUID = 174
|
||||
SYS_GETEUID = 175
|
||||
SYS_GETGID = 176
|
||||
SYS_GETEGID = 177
|
||||
SYS_GETTID = 178
|
||||
SYS_SYSINFO = 179
|
||||
SYS_MQ_OPEN = 180
|
||||
SYS_MQ_UNLINK = 181
|
||||
SYS_MQ_TIMEDSEND = 182
|
||||
SYS_MQ_TIMEDRECEIVE = 183
|
||||
SYS_MQ_NOTIFY = 184
|
||||
SYS_MQ_GETSETATTR = 185
|
||||
SYS_MSGGET = 186
|
||||
SYS_MSGCTL = 187
|
||||
SYS_MSGRCV = 188
|
||||
SYS_MSGSND = 189
|
||||
SYS_SEMGET = 190
|
||||
SYS_SEMCTL = 191
|
||||
SYS_SEMTIMEDOP = 192
|
||||
SYS_SEMOP = 193
|
||||
SYS_SHMGET = 194
|
||||
SYS_SHMCTL = 195
|
||||
SYS_SHMAT = 196
|
||||
SYS_SHMDT = 197
|
||||
SYS_SOCKET = 198
|
||||
SYS_SOCKETPAIR = 199
|
||||
SYS_BIND = 200
|
||||
SYS_LISTEN = 201
|
||||
SYS_ACCEPT = 202
|
||||
SYS_CONNECT = 203
|
||||
SYS_GETSOCKNAME = 204
|
||||
SYS_GETPEERNAME = 205
|
||||
SYS_SENDTO = 206
|
||||
SYS_RECVFROM = 207
|
||||
SYS_SETSOCKOPT = 208
|
||||
SYS_GETSOCKOPT = 209
|
||||
SYS_SHUTDOWN = 210
|
||||
SYS_SENDMSG = 211
|
||||
SYS_RECVMSG = 212
|
||||
SYS_READAHEAD = 213
|
||||
SYS_BRK = 214
|
||||
SYS_MUNMAP = 215
|
||||
SYS_MREMAP = 216
|
||||
SYS_ADD_KEY = 217
|
||||
SYS_REQUEST_KEY = 218
|
||||
SYS_KEYCTL = 219
|
||||
SYS_CLONE = 220
|
||||
SYS_EXECVE = 221
|
||||
SYS_MMAP = 222
|
||||
SYS_FADVISE64 = 223
|
||||
SYS_SWAPON = 224
|
||||
SYS_SWAPOFF = 225
|
||||
SYS_MPROTECT = 226
|
||||
SYS_MSYNC = 227
|
||||
SYS_MLOCK = 228
|
||||
SYS_MUNLOCK = 229
|
||||
SYS_MLOCKALL = 230
|
||||
SYS_MUNLOCKALL = 231
|
||||
SYS_MINCORE = 232
|
||||
SYS_MADVISE = 233
|
||||
SYS_REMAP_FILE_PAGES = 234
|
||||
SYS_MBIND = 235
|
||||
SYS_GET_MEMPOLICY = 236
|
||||
SYS_SET_MEMPOLICY = 237
|
||||
SYS_MIGRATE_PAGES = 238
|
||||
SYS_MOVE_PAGES = 239
|
||||
SYS_RT_TGSIGQUEUEINFO = 240
|
||||
SYS_PERF_EVENT_OPEN = 241
|
||||
SYS_ACCEPT4 = 242
|
||||
SYS_RECVMMSG = 243
|
||||
SYS_ARCH_SPECIFIC_SYSCALL = 244
|
||||
SYS_WAIT4 = 260
|
||||
SYS_PRLIMIT64 = 261
|
||||
SYS_FANOTIFY_INIT = 262
|
||||
SYS_FANOTIFY_MARK = 263
|
||||
SYS_NAME_TO_HANDLE_AT = 264
|
||||
SYS_OPEN_BY_HANDLE_AT = 265
|
||||
SYS_CLOCK_ADJTIME = 266
|
||||
SYS_SYNCFS = 267
|
||||
SYS_SETNS = 268
|
||||
SYS_SENDMMSG = 269
|
||||
SYS_PROCESS_VM_READV = 270
|
||||
SYS_PROCESS_VM_WRITEV = 271
|
||||
SYS_KCMP = 272
|
||||
SYS_FINIT_MODULE = 273
|
||||
SYS_SCHED_SETATTR = 274
|
||||
SYS_SCHED_GETATTR = 275
|
||||
SYS_RENAMEAT2 = 276
|
||||
SYS_SECCOMP = 277
|
||||
SYS_GETRANDOM = 278
|
||||
SYS_MEMFD_CREATE = 279
|
||||
SYS_BPF = 280
|
||||
SYS_EXECVEAT = 281
|
||||
SYS_USERFAULTFD = 282
|
||||
SYS_MEMBARRIER = 283
|
||||
SYS_MLOCK2 = 284
|
||||
SYS_COPY_FILE_RANGE = 285
|
||||
SYS_PREADV2 = 286
|
||||
SYS_PWRITEV2 = 287
|
||||
SYS_PKEY_MPROTECT = 288
|
||||
SYS_PKEY_ALLOC = 289
|
||||
SYS_PKEY_FREE = 290
|
||||
SYS_STATX = 291
|
||||
SYS_IO_PGETEVENTS = 292
|
||||
SYS_RSEQ = 293
|
||||
SYS_KEXEC_FILE_LOAD = 294
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
725
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
725
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
|
|
@ -7,365 +7,368 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_RESTART_SYSCALL = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_BRK = 45
|
||||
SYS_SIGNAL = 48
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_SETPGID = 57
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_SYMLINK = 83
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_LOOKUP_DCOOKIE = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_GETDENTS = 141
|
||||
SYS_SELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_QUERY_MODULE = 167
|
||||
SYS_POLL = 168
|
||||
SYS_NFSSERVCTL = 169
|
||||
SYS_PRCTL = 172
|
||||
SYS_RT_SIGRETURN = 173
|
||||
SYS_RT_SIGACTION = 174
|
||||
SYS_RT_SIGPROCMASK = 175
|
||||
SYS_RT_SIGPENDING = 176
|
||||
SYS_RT_SIGTIMEDWAIT = 177
|
||||
SYS_RT_SIGQUEUEINFO = 178
|
||||
SYS_RT_SIGSUSPEND = 179
|
||||
SYS_PREAD64 = 180
|
||||
SYS_PWRITE64 = 181
|
||||
SYS_GETCWD = 183
|
||||
SYS_CAPGET = 184
|
||||
SYS_CAPSET = 185
|
||||
SYS_SIGALTSTACK = 186
|
||||
SYS_SENDFILE = 187
|
||||
SYS_GETPMSG = 188
|
||||
SYS_PUTPMSG = 189
|
||||
SYS_VFORK = 190
|
||||
SYS_GETRLIMIT = 191
|
||||
SYS_LCHOWN = 198
|
||||
SYS_GETUID = 199
|
||||
SYS_GETGID = 200
|
||||
SYS_GETEUID = 201
|
||||
SYS_GETEGID = 202
|
||||
SYS_SETREUID = 203
|
||||
SYS_SETREGID = 204
|
||||
SYS_GETGROUPS = 205
|
||||
SYS_SETGROUPS = 206
|
||||
SYS_FCHOWN = 207
|
||||
SYS_SETRESUID = 208
|
||||
SYS_GETRESUID = 209
|
||||
SYS_SETRESGID = 210
|
||||
SYS_GETRESGID = 211
|
||||
SYS_CHOWN = 212
|
||||
SYS_SETUID = 213
|
||||
SYS_SETGID = 214
|
||||
SYS_SETFSUID = 215
|
||||
SYS_SETFSGID = 216
|
||||
SYS_PIVOT_ROOT = 217
|
||||
SYS_MINCORE = 218
|
||||
SYS_MADVISE = 219
|
||||
SYS_GETDENTS64 = 220
|
||||
SYS_READAHEAD = 222
|
||||
SYS_SETXATTR = 224
|
||||
SYS_LSETXATTR = 225
|
||||
SYS_FSETXATTR = 226
|
||||
SYS_GETXATTR = 227
|
||||
SYS_LGETXATTR = 228
|
||||
SYS_FGETXATTR = 229
|
||||
SYS_LISTXATTR = 230
|
||||
SYS_LLISTXATTR = 231
|
||||
SYS_FLISTXATTR = 232
|
||||
SYS_REMOVEXATTR = 233
|
||||
SYS_LREMOVEXATTR = 234
|
||||
SYS_FREMOVEXATTR = 235
|
||||
SYS_GETTID = 236
|
||||
SYS_TKILL = 237
|
||||
SYS_FUTEX = 238
|
||||
SYS_SCHED_SETAFFINITY = 239
|
||||
SYS_SCHED_GETAFFINITY = 240
|
||||
SYS_TGKILL = 241
|
||||
SYS_IO_SETUP = 243
|
||||
SYS_IO_DESTROY = 244
|
||||
SYS_IO_GETEVENTS = 245
|
||||
SYS_IO_SUBMIT = 246
|
||||
SYS_IO_CANCEL = 247
|
||||
SYS_EXIT_GROUP = 248
|
||||
SYS_EPOLL_CREATE = 249
|
||||
SYS_EPOLL_CTL = 250
|
||||
SYS_EPOLL_WAIT = 251
|
||||
SYS_SET_TID_ADDRESS = 252
|
||||
SYS_FADVISE64 = 253
|
||||
SYS_TIMER_CREATE = 254
|
||||
SYS_TIMER_SETTIME = 255
|
||||
SYS_TIMER_GETTIME = 256
|
||||
SYS_TIMER_GETOVERRUN = 257
|
||||
SYS_TIMER_DELETE = 258
|
||||
SYS_CLOCK_SETTIME = 259
|
||||
SYS_CLOCK_GETTIME = 260
|
||||
SYS_CLOCK_GETRES = 261
|
||||
SYS_CLOCK_NANOSLEEP = 262
|
||||
SYS_STATFS64 = 265
|
||||
SYS_FSTATFS64 = 266
|
||||
SYS_REMAP_FILE_PAGES = 267
|
||||
SYS_MBIND = 268
|
||||
SYS_GET_MEMPOLICY = 269
|
||||
SYS_SET_MEMPOLICY = 270
|
||||
SYS_MQ_OPEN = 271
|
||||
SYS_MQ_UNLINK = 272
|
||||
SYS_MQ_TIMEDSEND = 273
|
||||
SYS_MQ_TIMEDRECEIVE = 274
|
||||
SYS_MQ_NOTIFY = 275
|
||||
SYS_MQ_GETSETATTR = 276
|
||||
SYS_KEXEC_LOAD = 277
|
||||
SYS_ADD_KEY = 278
|
||||
SYS_REQUEST_KEY = 279
|
||||
SYS_KEYCTL = 280
|
||||
SYS_WAITID = 281
|
||||
SYS_IOPRIO_SET = 282
|
||||
SYS_IOPRIO_GET = 283
|
||||
SYS_INOTIFY_INIT = 284
|
||||
SYS_INOTIFY_ADD_WATCH = 285
|
||||
SYS_INOTIFY_RM_WATCH = 286
|
||||
SYS_MIGRATE_PAGES = 287
|
||||
SYS_OPENAT = 288
|
||||
SYS_MKDIRAT = 289
|
||||
SYS_MKNODAT = 290
|
||||
SYS_FCHOWNAT = 291
|
||||
SYS_FUTIMESAT = 292
|
||||
SYS_NEWFSTATAT = 293
|
||||
SYS_UNLINKAT = 294
|
||||
SYS_RENAMEAT = 295
|
||||
SYS_LINKAT = 296
|
||||
SYS_SYMLINKAT = 297
|
||||
SYS_READLINKAT = 298
|
||||
SYS_FCHMODAT = 299
|
||||
SYS_FACCESSAT = 300
|
||||
SYS_PSELECT6 = 301
|
||||
SYS_PPOLL = 302
|
||||
SYS_UNSHARE = 303
|
||||
SYS_SET_ROBUST_LIST = 304
|
||||
SYS_GET_ROBUST_LIST = 305
|
||||
SYS_SPLICE = 306
|
||||
SYS_SYNC_FILE_RANGE = 307
|
||||
SYS_TEE = 308
|
||||
SYS_VMSPLICE = 309
|
||||
SYS_MOVE_PAGES = 310
|
||||
SYS_GETCPU = 311
|
||||
SYS_EPOLL_PWAIT = 312
|
||||
SYS_UTIMES = 313
|
||||
SYS_FALLOCATE = 314
|
||||
SYS_UTIMENSAT = 315
|
||||
SYS_SIGNALFD = 316
|
||||
SYS_TIMERFD = 317
|
||||
SYS_EVENTFD = 318
|
||||
SYS_TIMERFD_CREATE = 319
|
||||
SYS_TIMERFD_SETTIME = 320
|
||||
SYS_TIMERFD_GETTIME = 321
|
||||
SYS_SIGNALFD4 = 322
|
||||
SYS_EVENTFD2 = 323
|
||||
SYS_INOTIFY_INIT1 = 324
|
||||
SYS_PIPE2 = 325
|
||||
SYS_DUP3 = 326
|
||||
SYS_EPOLL_CREATE1 = 327
|
||||
SYS_PREADV = 328
|
||||
SYS_PWRITEV = 329
|
||||
SYS_RT_TGSIGQUEUEINFO = 330
|
||||
SYS_PERF_EVENT_OPEN = 331
|
||||
SYS_FANOTIFY_INIT = 332
|
||||
SYS_FANOTIFY_MARK = 333
|
||||
SYS_PRLIMIT64 = 334
|
||||
SYS_NAME_TO_HANDLE_AT = 335
|
||||
SYS_OPEN_BY_HANDLE_AT = 336
|
||||
SYS_CLOCK_ADJTIME = 337
|
||||
SYS_SYNCFS = 338
|
||||
SYS_SETNS = 339
|
||||
SYS_PROCESS_VM_READV = 340
|
||||
SYS_PROCESS_VM_WRITEV = 341
|
||||
SYS_S390_RUNTIME_INSTR = 342
|
||||
SYS_KCMP = 343
|
||||
SYS_FINIT_MODULE = 344
|
||||
SYS_SCHED_SETATTR = 345
|
||||
SYS_SCHED_GETATTR = 346
|
||||
SYS_RENAMEAT2 = 347
|
||||
SYS_SECCOMP = 348
|
||||
SYS_GETRANDOM = 349
|
||||
SYS_MEMFD_CREATE = 350
|
||||
SYS_BPF = 351
|
||||
SYS_S390_PCI_MMIO_WRITE = 352
|
||||
SYS_S390_PCI_MMIO_READ = 353
|
||||
SYS_EXECVEAT = 354
|
||||
SYS_USERFAULTFD = 355
|
||||
SYS_MEMBARRIER = 356
|
||||
SYS_RECVMMSG = 357
|
||||
SYS_SENDMMSG = 358
|
||||
SYS_SOCKET = 359
|
||||
SYS_SOCKETPAIR = 360
|
||||
SYS_BIND = 361
|
||||
SYS_CONNECT = 362
|
||||
SYS_LISTEN = 363
|
||||
SYS_ACCEPT4 = 364
|
||||
SYS_GETSOCKOPT = 365
|
||||
SYS_SETSOCKOPT = 366
|
||||
SYS_GETSOCKNAME = 367
|
||||
SYS_GETPEERNAME = 368
|
||||
SYS_SENDTO = 369
|
||||
SYS_SENDMSG = 370
|
||||
SYS_RECVFROM = 371
|
||||
SYS_RECVMSG = 372
|
||||
SYS_SHUTDOWN = 373
|
||||
SYS_MLOCK2 = 374
|
||||
SYS_COPY_FILE_RANGE = 375
|
||||
SYS_PREADV2 = 376
|
||||
SYS_PWRITEV2 = 377
|
||||
SYS_S390_GUARDED_STORAGE = 378
|
||||
SYS_STATX = 379
|
||||
SYS_S390_STHYI = 380
|
||||
SYS_KEXEC_FILE_LOAD = 381
|
||||
SYS_IO_PGETEVENTS = 382
|
||||
SYS_RSEQ = 383
|
||||
SYS_PKEY_MPROTECT = 384
|
||||
SYS_PKEY_ALLOC = 385
|
||||
SYS_PKEY_FREE = 386
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_RESTART_SYSCALL = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECVE = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_MOUNT = 21
|
||||
SYS_UMOUNT = 22
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_RENAME = 38
|
||||
SYS_MKDIR = 39
|
||||
SYS_RMDIR = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_BRK = 45
|
||||
SYS_SIGNAL = 48
|
||||
SYS_ACCT = 51
|
||||
SYS_UMOUNT2 = 52
|
||||
SYS_IOCTL = 54
|
||||
SYS_FCNTL = 55
|
||||
SYS_SETPGID = 57
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_USTAT = 62
|
||||
SYS_DUP2 = 63
|
||||
SYS_GETPPID = 64
|
||||
SYS_GETPGRP = 65
|
||||
SYS_SETSID = 66
|
||||
SYS_SIGACTION = 67
|
||||
SYS_SIGSUSPEND = 72
|
||||
SYS_SIGPENDING = 73
|
||||
SYS_SETHOSTNAME = 74
|
||||
SYS_SETRLIMIT = 75
|
||||
SYS_GETRUSAGE = 77
|
||||
SYS_GETTIMEOFDAY = 78
|
||||
SYS_SETTIMEOFDAY = 79
|
||||
SYS_SYMLINK = 83
|
||||
SYS_READLINK = 85
|
||||
SYS_USELIB = 86
|
||||
SYS_SWAPON = 87
|
||||
SYS_REBOOT = 88
|
||||
SYS_READDIR = 89
|
||||
SYS_MMAP = 90
|
||||
SYS_MUNMAP = 91
|
||||
SYS_TRUNCATE = 92
|
||||
SYS_FTRUNCATE = 93
|
||||
SYS_FCHMOD = 94
|
||||
SYS_GETPRIORITY = 96
|
||||
SYS_SETPRIORITY = 97
|
||||
SYS_STATFS = 99
|
||||
SYS_FSTATFS = 100
|
||||
SYS_SOCKETCALL = 102
|
||||
SYS_SYSLOG = 103
|
||||
SYS_SETITIMER = 104
|
||||
SYS_GETITIMER = 105
|
||||
SYS_STAT = 106
|
||||
SYS_LSTAT = 107
|
||||
SYS_FSTAT = 108
|
||||
SYS_LOOKUP_DCOOKIE = 110
|
||||
SYS_VHANGUP = 111
|
||||
SYS_IDLE = 112
|
||||
SYS_WAIT4 = 114
|
||||
SYS_SWAPOFF = 115
|
||||
SYS_SYSINFO = 116
|
||||
SYS_IPC = 117
|
||||
SYS_FSYNC = 118
|
||||
SYS_SIGRETURN = 119
|
||||
SYS_CLONE = 120
|
||||
SYS_SETDOMAINNAME = 121
|
||||
SYS_UNAME = 122
|
||||
SYS_ADJTIMEX = 124
|
||||
SYS_MPROTECT = 125
|
||||
SYS_SIGPROCMASK = 126
|
||||
SYS_CREATE_MODULE = 127
|
||||
SYS_INIT_MODULE = 128
|
||||
SYS_DELETE_MODULE = 129
|
||||
SYS_GET_KERNEL_SYMS = 130
|
||||
SYS_QUOTACTL = 131
|
||||
SYS_GETPGID = 132
|
||||
SYS_FCHDIR = 133
|
||||
SYS_BDFLUSH = 134
|
||||
SYS_SYSFS = 135
|
||||
SYS_PERSONALITY = 136
|
||||
SYS_AFS_SYSCALL = 137
|
||||
SYS_GETDENTS = 141
|
||||
SYS_SELECT = 142
|
||||
SYS_FLOCK = 143
|
||||
SYS_MSYNC = 144
|
||||
SYS_READV = 145
|
||||
SYS_WRITEV = 146
|
||||
SYS_GETSID = 147
|
||||
SYS_FDATASYNC = 148
|
||||
SYS__SYSCTL = 149
|
||||
SYS_MLOCK = 150
|
||||
SYS_MUNLOCK = 151
|
||||
SYS_MLOCKALL = 152
|
||||
SYS_MUNLOCKALL = 153
|
||||
SYS_SCHED_SETPARAM = 154
|
||||
SYS_SCHED_GETPARAM = 155
|
||||
SYS_SCHED_SETSCHEDULER = 156
|
||||
SYS_SCHED_GETSCHEDULER = 157
|
||||
SYS_SCHED_YIELD = 158
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 159
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 160
|
||||
SYS_SCHED_RR_GET_INTERVAL = 161
|
||||
SYS_NANOSLEEP = 162
|
||||
SYS_MREMAP = 163
|
||||
SYS_QUERY_MODULE = 167
|
||||
SYS_POLL = 168
|
||||
SYS_NFSSERVCTL = 169
|
||||
SYS_PRCTL = 172
|
||||
SYS_RT_SIGRETURN = 173
|
||||
SYS_RT_SIGACTION = 174
|
||||
SYS_RT_SIGPROCMASK = 175
|
||||
SYS_RT_SIGPENDING = 176
|
||||
SYS_RT_SIGTIMEDWAIT = 177
|
||||
SYS_RT_SIGQUEUEINFO = 178
|
||||
SYS_RT_SIGSUSPEND = 179
|
||||
SYS_PREAD64 = 180
|
||||
SYS_PWRITE64 = 181
|
||||
SYS_GETCWD = 183
|
||||
SYS_CAPGET = 184
|
||||
SYS_CAPSET = 185
|
||||
SYS_SIGALTSTACK = 186
|
||||
SYS_SENDFILE = 187
|
||||
SYS_GETPMSG = 188
|
||||
SYS_PUTPMSG = 189
|
||||
SYS_VFORK = 190
|
||||
SYS_GETRLIMIT = 191
|
||||
SYS_LCHOWN = 198
|
||||
SYS_GETUID = 199
|
||||
SYS_GETGID = 200
|
||||
SYS_GETEUID = 201
|
||||
SYS_GETEGID = 202
|
||||
SYS_SETREUID = 203
|
||||
SYS_SETREGID = 204
|
||||
SYS_GETGROUPS = 205
|
||||
SYS_SETGROUPS = 206
|
||||
SYS_FCHOWN = 207
|
||||
SYS_SETRESUID = 208
|
||||
SYS_GETRESUID = 209
|
||||
SYS_SETRESGID = 210
|
||||
SYS_GETRESGID = 211
|
||||
SYS_CHOWN = 212
|
||||
SYS_SETUID = 213
|
||||
SYS_SETGID = 214
|
||||
SYS_SETFSUID = 215
|
||||
SYS_SETFSGID = 216
|
||||
SYS_PIVOT_ROOT = 217
|
||||
SYS_MINCORE = 218
|
||||
SYS_MADVISE = 219
|
||||
SYS_GETDENTS64 = 220
|
||||
SYS_READAHEAD = 222
|
||||
SYS_SETXATTR = 224
|
||||
SYS_LSETXATTR = 225
|
||||
SYS_FSETXATTR = 226
|
||||
SYS_GETXATTR = 227
|
||||
SYS_LGETXATTR = 228
|
||||
SYS_FGETXATTR = 229
|
||||
SYS_LISTXATTR = 230
|
||||
SYS_LLISTXATTR = 231
|
||||
SYS_FLISTXATTR = 232
|
||||
SYS_REMOVEXATTR = 233
|
||||
SYS_LREMOVEXATTR = 234
|
||||
SYS_FREMOVEXATTR = 235
|
||||
SYS_GETTID = 236
|
||||
SYS_TKILL = 237
|
||||
SYS_FUTEX = 238
|
||||
SYS_SCHED_SETAFFINITY = 239
|
||||
SYS_SCHED_GETAFFINITY = 240
|
||||
SYS_TGKILL = 241
|
||||
SYS_IO_SETUP = 243
|
||||
SYS_IO_DESTROY = 244
|
||||
SYS_IO_GETEVENTS = 245
|
||||
SYS_IO_SUBMIT = 246
|
||||
SYS_IO_CANCEL = 247
|
||||
SYS_EXIT_GROUP = 248
|
||||
SYS_EPOLL_CREATE = 249
|
||||
SYS_EPOLL_CTL = 250
|
||||
SYS_EPOLL_WAIT = 251
|
||||
SYS_SET_TID_ADDRESS = 252
|
||||
SYS_FADVISE64 = 253
|
||||
SYS_TIMER_CREATE = 254
|
||||
SYS_TIMER_SETTIME = 255
|
||||
SYS_TIMER_GETTIME = 256
|
||||
SYS_TIMER_GETOVERRUN = 257
|
||||
SYS_TIMER_DELETE = 258
|
||||
SYS_CLOCK_SETTIME = 259
|
||||
SYS_CLOCK_GETTIME = 260
|
||||
SYS_CLOCK_GETRES = 261
|
||||
SYS_CLOCK_NANOSLEEP = 262
|
||||
SYS_STATFS64 = 265
|
||||
SYS_FSTATFS64 = 266
|
||||
SYS_REMAP_FILE_PAGES = 267
|
||||
SYS_MBIND = 268
|
||||
SYS_GET_MEMPOLICY = 269
|
||||
SYS_SET_MEMPOLICY = 270
|
||||
SYS_MQ_OPEN = 271
|
||||
SYS_MQ_UNLINK = 272
|
||||
SYS_MQ_TIMEDSEND = 273
|
||||
SYS_MQ_TIMEDRECEIVE = 274
|
||||
SYS_MQ_NOTIFY = 275
|
||||
SYS_MQ_GETSETATTR = 276
|
||||
SYS_KEXEC_LOAD = 277
|
||||
SYS_ADD_KEY = 278
|
||||
SYS_REQUEST_KEY = 279
|
||||
SYS_KEYCTL = 280
|
||||
SYS_WAITID = 281
|
||||
SYS_IOPRIO_SET = 282
|
||||
SYS_IOPRIO_GET = 283
|
||||
SYS_INOTIFY_INIT = 284
|
||||
SYS_INOTIFY_ADD_WATCH = 285
|
||||
SYS_INOTIFY_RM_WATCH = 286
|
||||
SYS_MIGRATE_PAGES = 287
|
||||
SYS_OPENAT = 288
|
||||
SYS_MKDIRAT = 289
|
||||
SYS_MKNODAT = 290
|
||||
SYS_FCHOWNAT = 291
|
||||
SYS_FUTIMESAT = 292
|
||||
SYS_NEWFSTATAT = 293
|
||||
SYS_UNLINKAT = 294
|
||||
SYS_RENAMEAT = 295
|
||||
SYS_LINKAT = 296
|
||||
SYS_SYMLINKAT = 297
|
||||
SYS_READLINKAT = 298
|
||||
SYS_FCHMODAT = 299
|
||||
SYS_FACCESSAT = 300
|
||||
SYS_PSELECT6 = 301
|
||||
SYS_PPOLL = 302
|
||||
SYS_UNSHARE = 303
|
||||
SYS_SET_ROBUST_LIST = 304
|
||||
SYS_GET_ROBUST_LIST = 305
|
||||
SYS_SPLICE = 306
|
||||
SYS_SYNC_FILE_RANGE = 307
|
||||
SYS_TEE = 308
|
||||
SYS_VMSPLICE = 309
|
||||
SYS_MOVE_PAGES = 310
|
||||
SYS_GETCPU = 311
|
||||
SYS_EPOLL_PWAIT = 312
|
||||
SYS_UTIMES = 313
|
||||
SYS_FALLOCATE = 314
|
||||
SYS_UTIMENSAT = 315
|
||||
SYS_SIGNALFD = 316
|
||||
SYS_TIMERFD = 317
|
||||
SYS_EVENTFD = 318
|
||||
SYS_TIMERFD_CREATE = 319
|
||||
SYS_TIMERFD_SETTIME = 320
|
||||
SYS_TIMERFD_GETTIME = 321
|
||||
SYS_SIGNALFD4 = 322
|
||||
SYS_EVENTFD2 = 323
|
||||
SYS_INOTIFY_INIT1 = 324
|
||||
SYS_PIPE2 = 325
|
||||
SYS_DUP3 = 326
|
||||
SYS_EPOLL_CREATE1 = 327
|
||||
SYS_PREADV = 328
|
||||
SYS_PWRITEV = 329
|
||||
SYS_RT_TGSIGQUEUEINFO = 330
|
||||
SYS_PERF_EVENT_OPEN = 331
|
||||
SYS_FANOTIFY_INIT = 332
|
||||
SYS_FANOTIFY_MARK = 333
|
||||
SYS_PRLIMIT64 = 334
|
||||
SYS_NAME_TO_HANDLE_AT = 335
|
||||
SYS_OPEN_BY_HANDLE_AT = 336
|
||||
SYS_CLOCK_ADJTIME = 337
|
||||
SYS_SYNCFS = 338
|
||||
SYS_SETNS = 339
|
||||
SYS_PROCESS_VM_READV = 340
|
||||
SYS_PROCESS_VM_WRITEV = 341
|
||||
SYS_S390_RUNTIME_INSTR = 342
|
||||
SYS_KCMP = 343
|
||||
SYS_FINIT_MODULE = 344
|
||||
SYS_SCHED_SETATTR = 345
|
||||
SYS_SCHED_GETATTR = 346
|
||||
SYS_RENAMEAT2 = 347
|
||||
SYS_SECCOMP = 348
|
||||
SYS_GETRANDOM = 349
|
||||
SYS_MEMFD_CREATE = 350
|
||||
SYS_BPF = 351
|
||||
SYS_S390_PCI_MMIO_WRITE = 352
|
||||
SYS_S390_PCI_MMIO_READ = 353
|
||||
SYS_EXECVEAT = 354
|
||||
SYS_USERFAULTFD = 355
|
||||
SYS_MEMBARRIER = 356
|
||||
SYS_RECVMMSG = 357
|
||||
SYS_SENDMMSG = 358
|
||||
SYS_SOCKET = 359
|
||||
SYS_SOCKETPAIR = 360
|
||||
SYS_BIND = 361
|
||||
SYS_CONNECT = 362
|
||||
SYS_LISTEN = 363
|
||||
SYS_ACCEPT4 = 364
|
||||
SYS_GETSOCKOPT = 365
|
||||
SYS_SETSOCKOPT = 366
|
||||
SYS_GETSOCKNAME = 367
|
||||
SYS_GETPEERNAME = 368
|
||||
SYS_SENDTO = 369
|
||||
SYS_SENDMSG = 370
|
||||
SYS_RECVFROM = 371
|
||||
SYS_RECVMSG = 372
|
||||
SYS_SHUTDOWN = 373
|
||||
SYS_MLOCK2 = 374
|
||||
SYS_COPY_FILE_RANGE = 375
|
||||
SYS_PREADV2 = 376
|
||||
SYS_PWRITEV2 = 377
|
||||
SYS_S390_GUARDED_STORAGE = 378
|
||||
SYS_STATX = 379
|
||||
SYS_S390_STHYI = 380
|
||||
SYS_KEXEC_FILE_LOAD = 381
|
||||
SYS_IO_PGETEVENTS = 382
|
||||
SYS_RSEQ = 383
|
||||
SYS_PKEY_MPROTECT = 384
|
||||
SYS_PKEY_ALLOC = 385
|
||||
SYS_PKEY_FREE = 386
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLONE3 = 435
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
753
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
753
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
|
|
@ -7,379 +7,382 @@
|
|||
package unix
|
||||
|
||||
const (
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAIT4 = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECV = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_CHOWN = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BRK = 17
|
||||
SYS_PERFCTR = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_CAPGET = 21
|
||||
SYS_CAPSET = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_VMSPLICE = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_SIGALTSTACK = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_STAT = 38
|
||||
SYS_SENDFILE = 39
|
||||
SYS_LSTAT = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_UMOUNT2 = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_MEMORY_ORDERING = 52
|
||||
SYS_IOCTL = 54
|
||||
SYS_REBOOT = 55
|
||||
SYS_SYMLINK = 57
|
||||
SYS_READLINK = 58
|
||||
SYS_EXECVE = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_FSTAT = 62
|
||||
SYS_FSTAT64 = 63
|
||||
SYS_GETPAGESIZE = 64
|
||||
SYS_MSYNC = 65
|
||||
SYS_VFORK = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_MMAP = 71
|
||||
SYS_MUNMAP = 73
|
||||
SYS_MPROTECT = 74
|
||||
SYS_MADVISE = 75
|
||||
SYS_VHANGUP = 76
|
||||
SYS_MINCORE = 78
|
||||
SYS_GETGROUPS = 79
|
||||
SYS_SETGROUPS = 80
|
||||
SYS_GETPGRP = 81
|
||||
SYS_SETITIMER = 83
|
||||
SYS_SWAPON = 85
|
||||
SYS_GETITIMER = 86
|
||||
SYS_SETHOSTNAME = 88
|
||||
SYS_DUP2 = 90
|
||||
SYS_FCNTL = 92
|
||||
SYS_SELECT = 93
|
||||
SYS_FSYNC = 95
|
||||
SYS_SETPRIORITY = 96
|
||||
SYS_SOCKET = 97
|
||||
SYS_CONNECT = 98
|
||||
SYS_ACCEPT = 99
|
||||
SYS_GETPRIORITY = 100
|
||||
SYS_RT_SIGRETURN = 101
|
||||
SYS_RT_SIGACTION = 102
|
||||
SYS_RT_SIGPROCMASK = 103
|
||||
SYS_RT_SIGPENDING = 104
|
||||
SYS_RT_SIGTIMEDWAIT = 105
|
||||
SYS_RT_SIGQUEUEINFO = 106
|
||||
SYS_RT_SIGSUSPEND = 107
|
||||
SYS_SETRESUID = 108
|
||||
SYS_GETRESUID = 109
|
||||
SYS_SETRESGID = 110
|
||||
SYS_GETRESGID = 111
|
||||
SYS_RECVMSG = 113
|
||||
SYS_SENDMSG = 114
|
||||
SYS_GETTIMEOFDAY = 116
|
||||
SYS_GETRUSAGE = 117
|
||||
SYS_GETSOCKOPT = 118
|
||||
SYS_GETCWD = 119
|
||||
SYS_READV = 120
|
||||
SYS_WRITEV = 121
|
||||
SYS_SETTIMEOFDAY = 122
|
||||
SYS_FCHOWN = 123
|
||||
SYS_FCHMOD = 124
|
||||
SYS_RECVFROM = 125
|
||||
SYS_SETREUID = 126
|
||||
SYS_SETREGID = 127
|
||||
SYS_RENAME = 128
|
||||
SYS_TRUNCATE = 129
|
||||
SYS_FTRUNCATE = 130
|
||||
SYS_FLOCK = 131
|
||||
SYS_LSTAT64 = 132
|
||||
SYS_SENDTO = 133
|
||||
SYS_SHUTDOWN = 134
|
||||
SYS_SOCKETPAIR = 135
|
||||
SYS_MKDIR = 136
|
||||
SYS_RMDIR = 137
|
||||
SYS_UTIMES = 138
|
||||
SYS_STAT64 = 139
|
||||
SYS_SENDFILE64 = 140
|
||||
SYS_GETPEERNAME = 141
|
||||
SYS_FUTEX = 142
|
||||
SYS_GETTID = 143
|
||||
SYS_GETRLIMIT = 144
|
||||
SYS_SETRLIMIT = 145
|
||||
SYS_PIVOT_ROOT = 146
|
||||
SYS_PRCTL = 147
|
||||
SYS_PCICONFIG_READ = 148
|
||||
SYS_PCICONFIG_WRITE = 149
|
||||
SYS_GETSOCKNAME = 150
|
||||
SYS_INOTIFY_INIT = 151
|
||||
SYS_INOTIFY_ADD_WATCH = 152
|
||||
SYS_POLL = 153
|
||||
SYS_GETDENTS64 = 154
|
||||
SYS_INOTIFY_RM_WATCH = 156
|
||||
SYS_STATFS = 157
|
||||
SYS_FSTATFS = 158
|
||||
SYS_UMOUNT = 159
|
||||
SYS_SCHED_SET_AFFINITY = 160
|
||||
SYS_SCHED_GET_AFFINITY = 161
|
||||
SYS_GETDOMAINNAME = 162
|
||||
SYS_SETDOMAINNAME = 163
|
||||
SYS_UTRAP_INSTALL = 164
|
||||
SYS_QUOTACTL = 165
|
||||
SYS_SET_TID_ADDRESS = 166
|
||||
SYS_MOUNT = 167
|
||||
SYS_USTAT = 168
|
||||
SYS_SETXATTR = 169
|
||||
SYS_LSETXATTR = 170
|
||||
SYS_FSETXATTR = 171
|
||||
SYS_GETXATTR = 172
|
||||
SYS_LGETXATTR = 173
|
||||
SYS_GETDENTS = 174
|
||||
SYS_SETSID = 175
|
||||
SYS_FCHDIR = 176
|
||||
SYS_FGETXATTR = 177
|
||||
SYS_LISTXATTR = 178
|
||||
SYS_LLISTXATTR = 179
|
||||
SYS_FLISTXATTR = 180
|
||||
SYS_REMOVEXATTR = 181
|
||||
SYS_LREMOVEXATTR = 182
|
||||
SYS_SIGPENDING = 183
|
||||
SYS_QUERY_MODULE = 184
|
||||
SYS_SETPGID = 185
|
||||
SYS_FREMOVEXATTR = 186
|
||||
SYS_TKILL = 187
|
||||
SYS_EXIT_GROUP = 188
|
||||
SYS_UNAME = 189
|
||||
SYS_INIT_MODULE = 190
|
||||
SYS_PERSONALITY = 191
|
||||
SYS_REMAP_FILE_PAGES = 192
|
||||
SYS_EPOLL_CREATE = 193
|
||||
SYS_EPOLL_CTL = 194
|
||||
SYS_EPOLL_WAIT = 195
|
||||
SYS_IOPRIO_SET = 196
|
||||
SYS_GETPPID = 197
|
||||
SYS_SIGACTION = 198
|
||||
SYS_SGETMASK = 199
|
||||
SYS_SSETMASK = 200
|
||||
SYS_SIGSUSPEND = 201
|
||||
SYS_OLDLSTAT = 202
|
||||
SYS_USELIB = 203
|
||||
SYS_READDIR = 204
|
||||
SYS_READAHEAD = 205
|
||||
SYS_SOCKETCALL = 206
|
||||
SYS_SYSLOG = 207
|
||||
SYS_LOOKUP_DCOOKIE = 208
|
||||
SYS_FADVISE64 = 209
|
||||
SYS_FADVISE64_64 = 210
|
||||
SYS_TGKILL = 211
|
||||
SYS_WAITPID = 212
|
||||
SYS_SWAPOFF = 213
|
||||
SYS_SYSINFO = 214
|
||||
SYS_IPC = 215
|
||||
SYS_SIGRETURN = 216
|
||||
SYS_CLONE = 217
|
||||
SYS_IOPRIO_GET = 218
|
||||
SYS_ADJTIMEX = 219
|
||||
SYS_SIGPROCMASK = 220
|
||||
SYS_CREATE_MODULE = 221
|
||||
SYS_DELETE_MODULE = 222
|
||||
SYS_GET_KERNEL_SYMS = 223
|
||||
SYS_GETPGID = 224
|
||||
SYS_BDFLUSH = 225
|
||||
SYS_SYSFS = 226
|
||||
SYS_AFS_SYSCALL = 227
|
||||
SYS_SETFSUID = 228
|
||||
SYS_SETFSGID = 229
|
||||
SYS__NEWSELECT = 230
|
||||
SYS_SPLICE = 232
|
||||
SYS_STIME = 233
|
||||
SYS_STATFS64 = 234
|
||||
SYS_FSTATFS64 = 235
|
||||
SYS__LLSEEK = 236
|
||||
SYS_MLOCK = 237
|
||||
SYS_MUNLOCK = 238
|
||||
SYS_MLOCKALL = 239
|
||||
SYS_MUNLOCKALL = 240
|
||||
SYS_SCHED_SETPARAM = 241
|
||||
SYS_SCHED_GETPARAM = 242
|
||||
SYS_SCHED_SETSCHEDULER = 243
|
||||
SYS_SCHED_GETSCHEDULER = 244
|
||||
SYS_SCHED_YIELD = 245
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 246
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 247
|
||||
SYS_SCHED_RR_GET_INTERVAL = 248
|
||||
SYS_NANOSLEEP = 249
|
||||
SYS_MREMAP = 250
|
||||
SYS__SYSCTL = 251
|
||||
SYS_GETSID = 252
|
||||
SYS_FDATASYNC = 253
|
||||
SYS_NFSSERVCTL = 254
|
||||
SYS_SYNC_FILE_RANGE = 255
|
||||
SYS_CLOCK_SETTIME = 256
|
||||
SYS_CLOCK_GETTIME = 257
|
||||
SYS_CLOCK_GETRES = 258
|
||||
SYS_CLOCK_NANOSLEEP = 259
|
||||
SYS_SCHED_GETAFFINITY = 260
|
||||
SYS_SCHED_SETAFFINITY = 261
|
||||
SYS_TIMER_SETTIME = 262
|
||||
SYS_TIMER_GETTIME = 263
|
||||
SYS_TIMER_GETOVERRUN = 264
|
||||
SYS_TIMER_DELETE = 265
|
||||
SYS_TIMER_CREATE = 266
|
||||
SYS_VSERVER = 267
|
||||
SYS_IO_SETUP = 268
|
||||
SYS_IO_DESTROY = 269
|
||||
SYS_IO_SUBMIT = 270
|
||||
SYS_IO_CANCEL = 271
|
||||
SYS_IO_GETEVENTS = 272
|
||||
SYS_MQ_OPEN = 273
|
||||
SYS_MQ_UNLINK = 274
|
||||
SYS_MQ_TIMEDSEND = 275
|
||||
SYS_MQ_TIMEDRECEIVE = 276
|
||||
SYS_MQ_NOTIFY = 277
|
||||
SYS_MQ_GETSETATTR = 278
|
||||
SYS_WAITID = 279
|
||||
SYS_TEE = 280
|
||||
SYS_ADD_KEY = 281
|
||||
SYS_REQUEST_KEY = 282
|
||||
SYS_KEYCTL = 283
|
||||
SYS_OPENAT = 284
|
||||
SYS_MKDIRAT = 285
|
||||
SYS_MKNODAT = 286
|
||||
SYS_FCHOWNAT = 287
|
||||
SYS_FUTIMESAT = 288
|
||||
SYS_FSTATAT64 = 289
|
||||
SYS_UNLINKAT = 290
|
||||
SYS_RENAMEAT = 291
|
||||
SYS_LINKAT = 292
|
||||
SYS_SYMLINKAT = 293
|
||||
SYS_READLINKAT = 294
|
||||
SYS_FCHMODAT = 295
|
||||
SYS_FACCESSAT = 296
|
||||
SYS_PSELECT6 = 297
|
||||
SYS_PPOLL = 298
|
||||
SYS_UNSHARE = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_GET_ROBUST_LIST = 301
|
||||
SYS_MIGRATE_PAGES = 302
|
||||
SYS_MBIND = 303
|
||||
SYS_GET_MEMPOLICY = 304
|
||||
SYS_SET_MEMPOLICY = 305
|
||||
SYS_KEXEC_LOAD = 306
|
||||
SYS_MOVE_PAGES = 307
|
||||
SYS_GETCPU = 308
|
||||
SYS_EPOLL_PWAIT = 309
|
||||
SYS_UTIMENSAT = 310
|
||||
SYS_SIGNALFD = 311
|
||||
SYS_TIMERFD_CREATE = 312
|
||||
SYS_EVENTFD = 313
|
||||
SYS_FALLOCATE = 314
|
||||
SYS_TIMERFD_SETTIME = 315
|
||||
SYS_TIMERFD_GETTIME = 316
|
||||
SYS_SIGNALFD4 = 317
|
||||
SYS_EVENTFD2 = 318
|
||||
SYS_EPOLL_CREATE1 = 319
|
||||
SYS_DUP3 = 320
|
||||
SYS_PIPE2 = 321
|
||||
SYS_INOTIFY_INIT1 = 322
|
||||
SYS_ACCEPT4 = 323
|
||||
SYS_PREADV = 324
|
||||
SYS_PWRITEV = 325
|
||||
SYS_RT_TGSIGQUEUEINFO = 326
|
||||
SYS_PERF_EVENT_OPEN = 327
|
||||
SYS_RECVMMSG = 328
|
||||
SYS_FANOTIFY_INIT = 329
|
||||
SYS_FANOTIFY_MARK = 330
|
||||
SYS_PRLIMIT64 = 331
|
||||
SYS_NAME_TO_HANDLE_AT = 332
|
||||
SYS_OPEN_BY_HANDLE_AT = 333
|
||||
SYS_CLOCK_ADJTIME = 334
|
||||
SYS_SYNCFS = 335
|
||||
SYS_SENDMMSG = 336
|
||||
SYS_SETNS = 337
|
||||
SYS_PROCESS_VM_READV = 338
|
||||
SYS_PROCESS_VM_WRITEV = 339
|
||||
SYS_KERN_FEATURES = 340
|
||||
SYS_KCMP = 341
|
||||
SYS_FINIT_MODULE = 342
|
||||
SYS_SCHED_SETATTR = 343
|
||||
SYS_SCHED_GETATTR = 344
|
||||
SYS_RENAMEAT2 = 345
|
||||
SYS_SECCOMP = 346
|
||||
SYS_GETRANDOM = 347
|
||||
SYS_MEMFD_CREATE = 348
|
||||
SYS_BPF = 349
|
||||
SYS_EXECVEAT = 350
|
||||
SYS_MEMBARRIER = 351
|
||||
SYS_USERFAULTFD = 352
|
||||
SYS_BIND = 353
|
||||
SYS_LISTEN = 354
|
||||
SYS_SETSOCKOPT = 355
|
||||
SYS_MLOCK2 = 356
|
||||
SYS_COPY_FILE_RANGE = 357
|
||||
SYS_PREADV2 = 358
|
||||
SYS_PWRITEV2 = 359
|
||||
SYS_STATX = 360
|
||||
SYS_IO_PGETEVENTS = 361
|
||||
SYS_PKEY_MPROTECT = 362
|
||||
SYS_PKEY_ALLOC = 363
|
||||
SYS_PKEY_FREE = 364
|
||||
SYS_RSEQ = 365
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_RESTART_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAIT4 = 7
|
||||
SYS_CREAT = 8
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_EXECV = 11
|
||||
SYS_CHDIR = 12
|
||||
SYS_CHOWN = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_LCHOWN = 16
|
||||
SYS_BRK = 17
|
||||
SYS_PERFCTR = 18
|
||||
SYS_LSEEK = 19
|
||||
SYS_GETPID = 20
|
||||
SYS_CAPGET = 21
|
||||
SYS_CAPSET = 22
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_VMSPLICE = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_ALARM = 27
|
||||
SYS_SIGALTSTACK = 28
|
||||
SYS_PAUSE = 29
|
||||
SYS_UTIME = 30
|
||||
SYS_ACCESS = 33
|
||||
SYS_NICE = 34
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_STAT = 38
|
||||
SYS_SENDFILE = 39
|
||||
SYS_LSTAT = 40
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_TIMES = 43
|
||||
SYS_UMOUNT2 = 45
|
||||
SYS_SETGID = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGNAL = 48
|
||||
SYS_GETEUID = 49
|
||||
SYS_GETEGID = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_MEMORY_ORDERING = 52
|
||||
SYS_IOCTL = 54
|
||||
SYS_REBOOT = 55
|
||||
SYS_SYMLINK = 57
|
||||
SYS_READLINK = 58
|
||||
SYS_EXECVE = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_FSTAT = 62
|
||||
SYS_FSTAT64 = 63
|
||||
SYS_GETPAGESIZE = 64
|
||||
SYS_MSYNC = 65
|
||||
SYS_VFORK = 66
|
||||
SYS_PREAD64 = 67
|
||||
SYS_PWRITE64 = 68
|
||||
SYS_MMAP = 71
|
||||
SYS_MUNMAP = 73
|
||||
SYS_MPROTECT = 74
|
||||
SYS_MADVISE = 75
|
||||
SYS_VHANGUP = 76
|
||||
SYS_MINCORE = 78
|
||||
SYS_GETGROUPS = 79
|
||||
SYS_SETGROUPS = 80
|
||||
SYS_GETPGRP = 81
|
||||
SYS_SETITIMER = 83
|
||||
SYS_SWAPON = 85
|
||||
SYS_GETITIMER = 86
|
||||
SYS_SETHOSTNAME = 88
|
||||
SYS_DUP2 = 90
|
||||
SYS_FCNTL = 92
|
||||
SYS_SELECT = 93
|
||||
SYS_FSYNC = 95
|
||||
SYS_SETPRIORITY = 96
|
||||
SYS_SOCKET = 97
|
||||
SYS_CONNECT = 98
|
||||
SYS_ACCEPT = 99
|
||||
SYS_GETPRIORITY = 100
|
||||
SYS_RT_SIGRETURN = 101
|
||||
SYS_RT_SIGACTION = 102
|
||||
SYS_RT_SIGPROCMASK = 103
|
||||
SYS_RT_SIGPENDING = 104
|
||||
SYS_RT_SIGTIMEDWAIT = 105
|
||||
SYS_RT_SIGQUEUEINFO = 106
|
||||
SYS_RT_SIGSUSPEND = 107
|
||||
SYS_SETRESUID = 108
|
||||
SYS_GETRESUID = 109
|
||||
SYS_SETRESGID = 110
|
||||
SYS_GETRESGID = 111
|
||||
SYS_RECVMSG = 113
|
||||
SYS_SENDMSG = 114
|
||||
SYS_GETTIMEOFDAY = 116
|
||||
SYS_GETRUSAGE = 117
|
||||
SYS_GETSOCKOPT = 118
|
||||
SYS_GETCWD = 119
|
||||
SYS_READV = 120
|
||||
SYS_WRITEV = 121
|
||||
SYS_SETTIMEOFDAY = 122
|
||||
SYS_FCHOWN = 123
|
||||
SYS_FCHMOD = 124
|
||||
SYS_RECVFROM = 125
|
||||
SYS_SETREUID = 126
|
||||
SYS_SETREGID = 127
|
||||
SYS_RENAME = 128
|
||||
SYS_TRUNCATE = 129
|
||||
SYS_FTRUNCATE = 130
|
||||
SYS_FLOCK = 131
|
||||
SYS_LSTAT64 = 132
|
||||
SYS_SENDTO = 133
|
||||
SYS_SHUTDOWN = 134
|
||||
SYS_SOCKETPAIR = 135
|
||||
SYS_MKDIR = 136
|
||||
SYS_RMDIR = 137
|
||||
SYS_UTIMES = 138
|
||||
SYS_STAT64 = 139
|
||||
SYS_SENDFILE64 = 140
|
||||
SYS_GETPEERNAME = 141
|
||||
SYS_FUTEX = 142
|
||||
SYS_GETTID = 143
|
||||
SYS_GETRLIMIT = 144
|
||||
SYS_SETRLIMIT = 145
|
||||
SYS_PIVOT_ROOT = 146
|
||||
SYS_PRCTL = 147
|
||||
SYS_PCICONFIG_READ = 148
|
||||
SYS_PCICONFIG_WRITE = 149
|
||||
SYS_GETSOCKNAME = 150
|
||||
SYS_INOTIFY_INIT = 151
|
||||
SYS_INOTIFY_ADD_WATCH = 152
|
||||
SYS_POLL = 153
|
||||
SYS_GETDENTS64 = 154
|
||||
SYS_INOTIFY_RM_WATCH = 156
|
||||
SYS_STATFS = 157
|
||||
SYS_FSTATFS = 158
|
||||
SYS_UMOUNT = 159
|
||||
SYS_SCHED_SET_AFFINITY = 160
|
||||
SYS_SCHED_GET_AFFINITY = 161
|
||||
SYS_GETDOMAINNAME = 162
|
||||
SYS_SETDOMAINNAME = 163
|
||||
SYS_UTRAP_INSTALL = 164
|
||||
SYS_QUOTACTL = 165
|
||||
SYS_SET_TID_ADDRESS = 166
|
||||
SYS_MOUNT = 167
|
||||
SYS_USTAT = 168
|
||||
SYS_SETXATTR = 169
|
||||
SYS_LSETXATTR = 170
|
||||
SYS_FSETXATTR = 171
|
||||
SYS_GETXATTR = 172
|
||||
SYS_LGETXATTR = 173
|
||||
SYS_GETDENTS = 174
|
||||
SYS_SETSID = 175
|
||||
SYS_FCHDIR = 176
|
||||
SYS_FGETXATTR = 177
|
||||
SYS_LISTXATTR = 178
|
||||
SYS_LLISTXATTR = 179
|
||||
SYS_FLISTXATTR = 180
|
||||
SYS_REMOVEXATTR = 181
|
||||
SYS_LREMOVEXATTR = 182
|
||||
SYS_SIGPENDING = 183
|
||||
SYS_QUERY_MODULE = 184
|
||||
SYS_SETPGID = 185
|
||||
SYS_FREMOVEXATTR = 186
|
||||
SYS_TKILL = 187
|
||||
SYS_EXIT_GROUP = 188
|
||||
SYS_UNAME = 189
|
||||
SYS_INIT_MODULE = 190
|
||||
SYS_PERSONALITY = 191
|
||||
SYS_REMAP_FILE_PAGES = 192
|
||||
SYS_EPOLL_CREATE = 193
|
||||
SYS_EPOLL_CTL = 194
|
||||
SYS_EPOLL_WAIT = 195
|
||||
SYS_IOPRIO_SET = 196
|
||||
SYS_GETPPID = 197
|
||||
SYS_SIGACTION = 198
|
||||
SYS_SGETMASK = 199
|
||||
SYS_SSETMASK = 200
|
||||
SYS_SIGSUSPEND = 201
|
||||
SYS_OLDLSTAT = 202
|
||||
SYS_USELIB = 203
|
||||
SYS_READDIR = 204
|
||||
SYS_READAHEAD = 205
|
||||
SYS_SOCKETCALL = 206
|
||||
SYS_SYSLOG = 207
|
||||
SYS_LOOKUP_DCOOKIE = 208
|
||||
SYS_FADVISE64 = 209
|
||||
SYS_FADVISE64_64 = 210
|
||||
SYS_TGKILL = 211
|
||||
SYS_WAITPID = 212
|
||||
SYS_SWAPOFF = 213
|
||||
SYS_SYSINFO = 214
|
||||
SYS_IPC = 215
|
||||
SYS_SIGRETURN = 216
|
||||
SYS_CLONE = 217
|
||||
SYS_IOPRIO_GET = 218
|
||||
SYS_ADJTIMEX = 219
|
||||
SYS_SIGPROCMASK = 220
|
||||
SYS_CREATE_MODULE = 221
|
||||
SYS_DELETE_MODULE = 222
|
||||
SYS_GET_KERNEL_SYMS = 223
|
||||
SYS_GETPGID = 224
|
||||
SYS_BDFLUSH = 225
|
||||
SYS_SYSFS = 226
|
||||
SYS_AFS_SYSCALL = 227
|
||||
SYS_SETFSUID = 228
|
||||
SYS_SETFSGID = 229
|
||||
SYS__NEWSELECT = 230
|
||||
SYS_SPLICE = 232
|
||||
SYS_STIME = 233
|
||||
SYS_STATFS64 = 234
|
||||
SYS_FSTATFS64 = 235
|
||||
SYS__LLSEEK = 236
|
||||
SYS_MLOCK = 237
|
||||
SYS_MUNLOCK = 238
|
||||
SYS_MLOCKALL = 239
|
||||
SYS_MUNLOCKALL = 240
|
||||
SYS_SCHED_SETPARAM = 241
|
||||
SYS_SCHED_GETPARAM = 242
|
||||
SYS_SCHED_SETSCHEDULER = 243
|
||||
SYS_SCHED_GETSCHEDULER = 244
|
||||
SYS_SCHED_YIELD = 245
|
||||
SYS_SCHED_GET_PRIORITY_MAX = 246
|
||||
SYS_SCHED_GET_PRIORITY_MIN = 247
|
||||
SYS_SCHED_RR_GET_INTERVAL = 248
|
||||
SYS_NANOSLEEP = 249
|
||||
SYS_MREMAP = 250
|
||||
SYS__SYSCTL = 251
|
||||
SYS_GETSID = 252
|
||||
SYS_FDATASYNC = 253
|
||||
SYS_NFSSERVCTL = 254
|
||||
SYS_SYNC_FILE_RANGE = 255
|
||||
SYS_CLOCK_SETTIME = 256
|
||||
SYS_CLOCK_GETTIME = 257
|
||||
SYS_CLOCK_GETRES = 258
|
||||
SYS_CLOCK_NANOSLEEP = 259
|
||||
SYS_SCHED_GETAFFINITY = 260
|
||||
SYS_SCHED_SETAFFINITY = 261
|
||||
SYS_TIMER_SETTIME = 262
|
||||
SYS_TIMER_GETTIME = 263
|
||||
SYS_TIMER_GETOVERRUN = 264
|
||||
SYS_TIMER_DELETE = 265
|
||||
SYS_TIMER_CREATE = 266
|
||||
SYS_VSERVER = 267
|
||||
SYS_IO_SETUP = 268
|
||||
SYS_IO_DESTROY = 269
|
||||
SYS_IO_SUBMIT = 270
|
||||
SYS_IO_CANCEL = 271
|
||||
SYS_IO_GETEVENTS = 272
|
||||
SYS_MQ_OPEN = 273
|
||||
SYS_MQ_UNLINK = 274
|
||||
SYS_MQ_TIMEDSEND = 275
|
||||
SYS_MQ_TIMEDRECEIVE = 276
|
||||
SYS_MQ_NOTIFY = 277
|
||||
SYS_MQ_GETSETATTR = 278
|
||||
SYS_WAITID = 279
|
||||
SYS_TEE = 280
|
||||
SYS_ADD_KEY = 281
|
||||
SYS_REQUEST_KEY = 282
|
||||
SYS_KEYCTL = 283
|
||||
SYS_OPENAT = 284
|
||||
SYS_MKDIRAT = 285
|
||||
SYS_MKNODAT = 286
|
||||
SYS_FCHOWNAT = 287
|
||||
SYS_FUTIMESAT = 288
|
||||
SYS_FSTATAT64 = 289
|
||||
SYS_UNLINKAT = 290
|
||||
SYS_RENAMEAT = 291
|
||||
SYS_LINKAT = 292
|
||||
SYS_SYMLINKAT = 293
|
||||
SYS_READLINKAT = 294
|
||||
SYS_FCHMODAT = 295
|
||||
SYS_FACCESSAT = 296
|
||||
SYS_PSELECT6 = 297
|
||||
SYS_PPOLL = 298
|
||||
SYS_UNSHARE = 299
|
||||
SYS_SET_ROBUST_LIST = 300
|
||||
SYS_GET_ROBUST_LIST = 301
|
||||
SYS_MIGRATE_PAGES = 302
|
||||
SYS_MBIND = 303
|
||||
SYS_GET_MEMPOLICY = 304
|
||||
SYS_SET_MEMPOLICY = 305
|
||||
SYS_KEXEC_LOAD = 306
|
||||
SYS_MOVE_PAGES = 307
|
||||
SYS_GETCPU = 308
|
||||
SYS_EPOLL_PWAIT = 309
|
||||
SYS_UTIMENSAT = 310
|
||||
SYS_SIGNALFD = 311
|
||||
SYS_TIMERFD_CREATE = 312
|
||||
SYS_EVENTFD = 313
|
||||
SYS_FALLOCATE = 314
|
||||
SYS_TIMERFD_SETTIME = 315
|
||||
SYS_TIMERFD_GETTIME = 316
|
||||
SYS_SIGNALFD4 = 317
|
||||
SYS_EVENTFD2 = 318
|
||||
SYS_EPOLL_CREATE1 = 319
|
||||
SYS_DUP3 = 320
|
||||
SYS_PIPE2 = 321
|
||||
SYS_INOTIFY_INIT1 = 322
|
||||
SYS_ACCEPT4 = 323
|
||||
SYS_PREADV = 324
|
||||
SYS_PWRITEV = 325
|
||||
SYS_RT_TGSIGQUEUEINFO = 326
|
||||
SYS_PERF_EVENT_OPEN = 327
|
||||
SYS_RECVMMSG = 328
|
||||
SYS_FANOTIFY_INIT = 329
|
||||
SYS_FANOTIFY_MARK = 330
|
||||
SYS_PRLIMIT64 = 331
|
||||
SYS_NAME_TO_HANDLE_AT = 332
|
||||
SYS_OPEN_BY_HANDLE_AT = 333
|
||||
SYS_CLOCK_ADJTIME = 334
|
||||
SYS_SYNCFS = 335
|
||||
SYS_SENDMMSG = 336
|
||||
SYS_SETNS = 337
|
||||
SYS_PROCESS_VM_READV = 338
|
||||
SYS_PROCESS_VM_WRITEV = 339
|
||||
SYS_KERN_FEATURES = 340
|
||||
SYS_KCMP = 341
|
||||
SYS_FINIT_MODULE = 342
|
||||
SYS_SCHED_SETATTR = 343
|
||||
SYS_SCHED_GETATTR = 344
|
||||
SYS_RENAMEAT2 = 345
|
||||
SYS_SECCOMP = 346
|
||||
SYS_GETRANDOM = 347
|
||||
SYS_MEMFD_CREATE = 348
|
||||
SYS_BPF = 349
|
||||
SYS_EXECVEAT = 350
|
||||
SYS_MEMBARRIER = 351
|
||||
SYS_USERFAULTFD = 352
|
||||
SYS_BIND = 353
|
||||
SYS_LISTEN = 354
|
||||
SYS_SETSOCKOPT = 355
|
||||
SYS_MLOCK2 = 356
|
||||
SYS_COPY_FILE_RANGE = 357
|
||||
SYS_PREADV2 = 358
|
||||
SYS_PWRITEV2 = 359
|
||||
SYS_STATX = 360
|
||||
SYS_IO_PGETEVENTS = 361
|
||||
SYS_PKEY_MPROTECT = 362
|
||||
SYS_PKEY_ALLOC = 363
|
||||
SYS_PKEY_FREE = 364
|
||||
SYS_RSEQ = 365
|
||||
SYS_SEMTIMEDOP = 392
|
||||
SYS_SEMGET = 393
|
||||
SYS_SEMCTL = 394
|
||||
SYS_SHMGET = 395
|
||||
SYS_SHMCTL = 396
|
||||
SYS_SHMAT = 397
|
||||
SYS_SHMDT = 398
|
||||
SYS_MSGGET = 399
|
||||
SYS_MSGSND = 400
|
||||
SYS_MSGRCV = 401
|
||||
SYS_MSGCTL = 402
|
||||
SYS_PIDFD_SEND_SIGNAL = 424
|
||||
SYS_IO_URING_SETUP = 425
|
||||
SYS_IO_URING_ENTER = 426
|
||||
SYS_IO_URING_REGISTER = 427
|
||||
SYS_OPEN_TREE = 428
|
||||
SYS_MOVE_MOUNT = 429
|
||||
SYS_FSOPEN = 430
|
||||
SYS_FSCONFIG = 431
|
||||
SYS_FSMOUNT = 432
|
||||
SYS_FSPICK = 433
|
||||
SYS_PIDFD_OPEN = 434
|
||||
SYS_CLOSE_RANGE = 436
|
||||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
SYS_MOUNT_SETATTR = 442
|
||||
SYS_LANDLOCK_CREATE_RULESET = 444
|
||||
SYS_LANDLOCK_ADD_RULE = 445
|
||||
SYS_LANDLOCK_RESTRICT_SELF = 446
|
||||
)
|
||||
|
|
|
|||
22
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
22
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
|
|
@ -452,6 +452,11 @@ type CanFilter struct {
|
|||
Mask uint32
|
||||
}
|
||||
|
||||
type TCPRepairOpt struct {
|
||||
Code uint32
|
||||
Val uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
|
|
@ -484,6 +489,7 @@ const (
|
|||
SizeofUcred = 0xc
|
||||
SizeofTCPInfo = 0x68
|
||||
SizeofCanFilter = 0x8
|
||||
SizeofTCPRepairOpt = 0x8
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -681,6 +687,16 @@ type NdMsg struct {
|
|||
Type uint8
|
||||
}
|
||||
|
||||
const (
|
||||
ICMP_FILTER = 0x1
|
||||
|
||||
ICMPV6_FILTER = 0x1
|
||||
ICMPV6_FILTER_BLOCK = 0x1
|
||||
ICMPV6_FILTER_BLOCKOTHERS = 0x3
|
||||
ICMPV6_FILTER_PASS = 0x2
|
||||
ICMPV6_FILTER_PASSONLY = 0x4
|
||||
)
|
||||
|
||||
const (
|
||||
SizeofSockFilter = 0x8
|
||||
)
|
||||
|
|
@ -1001,7 +1017,7 @@ const (
|
|||
PERF_COUNT_SW_EMULATION_FAULTS = 0x8
|
||||
PERF_COUNT_SW_DUMMY = 0x9
|
||||
PERF_COUNT_SW_BPF_OUTPUT = 0xa
|
||||
PERF_COUNT_SW_MAX = 0xb
|
||||
PERF_COUNT_SW_MAX = 0xc
|
||||
PERF_SAMPLE_IP = 0x1
|
||||
PERF_SAMPLE_TID = 0x2
|
||||
PERF_SAMPLE_TIME = 0x4
|
||||
|
|
@ -3436,7 +3452,7 @@ const (
|
|||
ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a
|
||||
ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b
|
||||
ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c
|
||||
ETHTOOL_MSG_USER_MAX = 0x1c
|
||||
ETHTOOL_MSG_USER_MAX = 0x20
|
||||
ETHTOOL_MSG_KERNEL_NONE = 0x0
|
||||
ETHTOOL_MSG_STRSET_GET_REPLY = 0x1
|
||||
ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
|
||||
|
|
@ -3467,7 +3483,7 @@ const (
|
|||
ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b
|
||||
ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c
|
||||
ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d
|
||||
ETHTOOL_MSG_KERNEL_MAX = 0x1d
|
||||
ETHTOOL_MSG_KERNEL_MAX = 0x21
|
||||
ETHTOOL_A_HEADER_UNSPEC = 0x0
|
||||
ETHTOOL_A_HEADER_DEV_INDEX = 0x1
|
||||
ETHTOOL_A_HEADER_DEV_NAME = 0x2
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_386.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_386.go
generated
vendored
|
|
@ -170,6 +170,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [16]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x58
|
||||
SizeofIovec = 0x8
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
generated
vendored
|
|
@ -173,6 +173,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
generated
vendored
|
|
@ -176,6 +176,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [16]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x58
|
||||
SizeofIovec = 0x8
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
generated
vendored
|
|
@ -174,6 +174,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
generated
vendored
|
|
@ -175,6 +175,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [16]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x58
|
||||
SizeofIovec = 0x8
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
generated
vendored
|
|
@ -174,6 +174,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
generated
vendored
|
|
@ -174,6 +174,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
generated
vendored
|
|
@ -175,6 +175,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [16]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x58
|
||||
SizeofIovec = 0x8
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
generated
vendored
|
|
@ -176,6 +176,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [16]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x58
|
||||
SizeofIovec = 0x8
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
generated
vendored
|
|
@ -175,6 +175,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
generated
vendored
|
|
@ -175,6 +175,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
generated
vendored
|
|
@ -174,6 +174,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
generated
vendored
|
|
@ -173,6 +173,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
5
vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
generated
vendored
5
vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
generated
vendored
|
|
@ -177,6 +177,11 @@ type Cmsghdr struct {
|
|||
Type int32
|
||||
}
|
||||
|
||||
type ifreq struct {
|
||||
Ifrn [16]byte
|
||||
Ifru [24]byte
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrNFCLLCP = 0x60
|
||||
SizeofIovec = 0x10
|
||||
|
|
|
|||
40
vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
generated
vendored
40
vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
generated
vendored
|
|
@ -440,3 +440,43 @@ const (
|
|||
POLLWRBAND = 0x100
|
||||
POLLWRNORM = 0x4
|
||||
)
|
||||
|
||||
type fileObj struct {
|
||||
Atim Timespec
|
||||
Mtim Timespec
|
||||
Ctim Timespec
|
||||
Pad [3]uint64
|
||||
Name *int8
|
||||
}
|
||||
|
||||
type portEvent struct {
|
||||
Events int32
|
||||
Source uint16
|
||||
Pad uint16
|
||||
Object uint64
|
||||
User *byte
|
||||
}
|
||||
|
||||
const (
|
||||
PORT_SOURCE_AIO = 0x1
|
||||
PORT_SOURCE_TIMER = 0x2
|
||||
PORT_SOURCE_USER = 0x3
|
||||
PORT_SOURCE_FD = 0x4
|
||||
PORT_SOURCE_ALERT = 0x5
|
||||
PORT_SOURCE_MQ = 0x6
|
||||
PORT_SOURCE_FILE = 0x7
|
||||
PORT_ALERT_SET = 0x1
|
||||
PORT_ALERT_UPDATE = 0x2
|
||||
PORT_ALERT_INVALID = 0x3
|
||||
FILE_ACCESS = 0x1
|
||||
FILE_MODIFIED = 0x2
|
||||
FILE_ATTRIB = 0x4
|
||||
FILE_TRUNC = 0x100000
|
||||
FILE_NOFOLLOW = 0x10000000
|
||||
FILE_DELETE = 0x10
|
||||
FILE_RENAME_TO = 0x20
|
||||
FILE_RENAME_FROM = 0x40
|
||||
UNMOUNTED = 0x20000000
|
||||
MOUNTEDOVER = 0x40000000
|
||||
FILE_EXCEPTION = 0x60000070
|
||||
)
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/windows/security_windows.go
generated
vendored
1
vendor/golang.org/x/sys/windows/security_windows.go
generated
vendored
|
|
@ -889,6 +889,7 @@ type WTS_SESSION_INFO struct {
|
|||
//sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken
|
||||
//sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW
|
||||
//sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory
|
||||
//sys WTSGetActiveConsoleSessionId() (sessionID uint32)
|
||||
|
||||
type ACL struct {
|
||||
aclRevision byte
|
||||
|
|
|
|||
7
vendor/golang.org/x/sys/windows/zsyscall_windows.go
generated
vendored
7
vendor/golang.org/x/sys/windows/zsyscall_windows.go
generated
vendored
|
|
@ -346,6 +346,7 @@ var (
|
|||
procVirtualLock = modkernel32.NewProc("VirtualLock")
|
||||
procVirtualProtect = modkernel32.NewProc("VirtualProtect")
|
||||
procVirtualUnlock = modkernel32.NewProc("VirtualUnlock")
|
||||
procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId")
|
||||
procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects")
|
||||
procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject")
|
||||
procWriteConsoleW = modkernel32.NewProc("WriteConsoleW")
|
||||
|
|
@ -2992,6 +2993,12 @@ func VirtualUnlock(addr uintptr, length uintptr) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func WTSGetActiveConsoleSessionId() (sessionID uint32) {
|
||||
r0, _, _ := syscall.Syscall(procWTSGetActiveConsoleSessionId.Addr(), 0, 0, 0, 0)
|
||||
sessionID = uint32(r0)
|
||||
return
|
||||
}
|
||||
|
||||
func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) {
|
||||
var _p0 uint32
|
||||
if waitAll {
|
||||
|
|
|
|||
3
vendor/golang.org/x/tools/AUTHORS
generated
vendored
Normal file
3
vendor/golang.org/x/tools/AUTHORS
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# This source code refers to The Go Authors for copyright purposes.
|
||||
# The master list of authors is in the main Go distribution,
|
||||
# visible at http://tip.golang.org/AUTHORS.
|
||||
3
vendor/golang.org/x/tools/CONTRIBUTORS
generated
vendored
Normal file
3
vendor/golang.org/x/tools/CONTRIBUTORS
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# This source code was written by the Go contributors.
|
||||
# The master list of contributors is in the main Go distribution,
|
||||
# visible at http://tip.golang.org/CONTRIBUTORS.
|
||||
27
vendor/golang.org/x/tools/LICENSE
generated
vendored
Normal file
27
vendor/golang.org/x/tools/LICENSE
generated
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
22
vendor/golang.org/x/tools/PATENTS
generated
vendored
Normal file
22
vendor/golang.org/x/tools/PATENTS
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Additional IP Rights Grant (Patents)
|
||||
|
||||
"This implementation" means the copyrightable works distributed by
|
||||
Google as part of the Go project.
|
||||
|
||||
Google hereby grants to You a perpetual, worldwide, non-exclusive,
|
||||
no-charge, royalty-free, irrevocable (except as stated in this section)
|
||||
patent license to make, have made, use, offer to sell, sell, import,
|
||||
transfer and otherwise run, modify and propagate the contents of this
|
||||
implementation of Go, where such license applies only to those patent
|
||||
claims, both currently owned or controlled by Google and acquired in
|
||||
the future, licensable by Google that are necessarily infringed by this
|
||||
implementation of Go. This grant does not include claims that would be
|
||||
infringed only as a consequence of further modification of this
|
||||
implementation. If you or your agent or exclusive licensee institute or
|
||||
order or agree to the institution of patent litigation against any
|
||||
entity (including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that this implementation of Go or any code incorporated within this
|
||||
implementation of Go constitutes direct or contributory patent
|
||||
infringement, or inducement of patent infringement, then any patent
|
||||
rights granted to you under this License for this implementation of Go
|
||||
shall terminate as of the date such litigation is filed.
|
||||
133
vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
generated
vendored
Normal file
133
vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
generated
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
// Copyright 2016 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package gcexportdata provides functions for locating, reading, and
|
||||
// writing export data files containing type information produced by the
|
||||
// gc compiler. This package supports go1.7 export data format and all
|
||||
// later versions.
|
||||
//
|
||||
// Although it might seem convenient for this package to live alongside
|
||||
// go/types in the standard library, this would cause version skew
|
||||
// problems for developer tools that use it, since they must be able to
|
||||
// consume the outputs of the gc compiler both before and after a Go
|
||||
// update such as from Go 1.7 to Go 1.8. Because this package lives in
|
||||
// golang.org/x/tools, sites can update their version of this repo some
|
||||
// time before the Go 1.8 release and rebuild and redeploy their
|
||||
// developer tools, which will then be able to consume both Go 1.7 and
|
||||
// Go 1.8 export data files, so they will work before and after the
|
||||
// Go update. (See discussion at https://golang.org/issue/15651.)
|
||||
//
|
||||
package gcexportdata // import "golang.org/x/tools/go/gcexportdata"
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"go/token"
|
||||
"go/types"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
||||
"golang.org/x/tools/go/internal/gcimporter"
|
||||
)
|
||||
|
||||
// Find returns the name of an object (.o) or archive (.a) file
|
||||
// containing type information for the specified import path,
|
||||
// using the workspace layout conventions of go/build.
|
||||
// If no file was found, an empty filename is returned.
|
||||
//
|
||||
// A relative srcDir is interpreted relative to the current working directory.
|
||||
//
|
||||
// Find also returns the package's resolved (canonical) import path,
|
||||
// reflecting the effects of srcDir and vendoring on importPath.
|
||||
func Find(importPath, srcDir string) (filename, path string) {
|
||||
return gcimporter.FindPkg(importPath, srcDir)
|
||||
}
|
||||
|
||||
// NewReader returns a reader for the export data section of an object
|
||||
// (.o) or archive (.a) file read from r. The new reader may provide
|
||||
// additional trailing data beyond the end of the export data.
|
||||
func NewReader(r io.Reader) (io.Reader, error) {
|
||||
buf := bufio.NewReader(r)
|
||||
_, err := gcimporter.FindExportData(buf)
|
||||
// If we ever switch to a zip-like archive format with the ToC
|
||||
// at the end, we can return the correct portion of export data,
|
||||
// but for now we must return the entire rest of the file.
|
||||
return buf, err
|
||||
}
|
||||
|
||||
// Read reads export data from in, decodes it, and returns type
|
||||
// information for the package.
|
||||
// The package name is specified by path.
|
||||
// File position information is added to fset.
|
||||
//
|
||||
// Read may inspect and add to the imports map to ensure that references
|
||||
// within the export data to other packages are consistent. The caller
|
||||
// must ensure that imports[path] does not exist, or exists but is
|
||||
// incomplete (see types.Package.Complete), and Read inserts the
|
||||
// resulting package into this map entry.
|
||||
//
|
||||
// On return, the state of the reader is undefined.
|
||||
func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package, path string) (*types.Package, error) {
|
||||
data, err := ioutil.ReadAll(in)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("reading export data for %q: %v", path, err)
|
||||
}
|
||||
|
||||
if bytes.HasPrefix(data, []byte("!<arch>")) {
|
||||
return nil, fmt.Errorf("can't read export data for %q directly from an archive file (call gcexportdata.NewReader first to extract export data)", path)
|
||||
}
|
||||
|
||||
// The App Engine Go runtime v1.6 uses the old export data format.
|
||||
// TODO(adonovan): delete once v1.7 has been around for a while.
|
||||
if bytes.HasPrefix(data, []byte("package ")) {
|
||||
return gcimporter.ImportData(imports, path, path, bytes.NewReader(data))
|
||||
}
|
||||
|
||||
// The indexed export format starts with an 'i'; the older
|
||||
// binary export format starts with a 'c', 'd', or 'v'
|
||||
// (from "version"). Select appropriate importer.
|
||||
if len(data) > 0 && data[0] == 'i' {
|
||||
_, pkg, err := gcimporter.IImportData(fset, imports, data[1:], path)
|
||||
return pkg, err
|
||||
}
|
||||
|
||||
_, pkg, err := gcimporter.BImportData(fset, imports, data, path)
|
||||
return pkg, err
|
||||
}
|
||||
|
||||
// Write writes encoded type information for the specified package to out.
|
||||
// The FileSet provides file position information for named objects.
|
||||
func Write(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
|
||||
if _, err := io.WriteString(out, "i"); err != nil {
|
||||
return err
|
||||
}
|
||||
return gcimporter.IExportData(out, fset, pkg)
|
||||
}
|
||||
|
||||
// ReadBundle reads an export bundle from in, decodes it, and returns type
|
||||
// information for the packages.
|
||||
// File position information is added to fset.
|
||||
//
|
||||
// ReadBundle may inspect and add to the imports map to ensure that references
|
||||
// within the export bundle to other packages are consistent.
|
||||
//
|
||||
// On return, the state of the reader is undefined.
|
||||
//
|
||||
// Experimental: This API is experimental and may change in the future.
|
||||
func ReadBundle(in io.Reader, fset *token.FileSet, imports map[string]*types.Package) ([]*types.Package, error) {
|
||||
data, err := ioutil.ReadAll(in)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("reading export bundle: %v", err)
|
||||
}
|
||||
return gcimporter.IImportBundle(fset, imports, data)
|
||||
}
|
||||
|
||||
// WriteBundle writes encoded type information for the specified packages to out.
|
||||
// The FileSet provides file position information for named objects.
|
||||
//
|
||||
// Experimental: This API is experimental and may change in the future.
|
||||
func WriteBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
|
||||
return gcimporter.IExportBundle(out, fset, pkgs)
|
||||
}
|
||||
73
vendor/golang.org/x/tools/go/gcexportdata/importer.go
generated
vendored
Normal file
73
vendor/golang.org/x/tools/go/gcexportdata/importer.go
generated
vendored
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
// Copyright 2016 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package gcexportdata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go/token"
|
||||
"go/types"
|
||||
"os"
|
||||
)
|
||||
|
||||
// NewImporter returns a new instance of the types.Importer interface
|
||||
// that reads type information from export data files written by gc.
|
||||
// The Importer also satisfies types.ImporterFrom.
|
||||
//
|
||||
// Export data files are located using "go build" workspace conventions
|
||||
// and the build.Default context.
|
||||
//
|
||||
// Use this importer instead of go/importer.For("gc", ...) to avoid the
|
||||
// version-skew problems described in the documentation of this package,
|
||||
// or to control the FileSet or access the imports map populated during
|
||||
// package loading.
|
||||
//
|
||||
func NewImporter(fset *token.FileSet, imports map[string]*types.Package) types.ImporterFrom {
|
||||
return importer{fset, imports}
|
||||
}
|
||||
|
||||
type importer struct {
|
||||
fset *token.FileSet
|
||||
imports map[string]*types.Package
|
||||
}
|
||||
|
||||
func (imp importer) Import(importPath string) (*types.Package, error) {
|
||||
return imp.ImportFrom(importPath, "", 0)
|
||||
}
|
||||
|
||||
func (imp importer) ImportFrom(importPath, srcDir string, mode types.ImportMode) (_ *types.Package, err error) {
|
||||
filename, path := Find(importPath, srcDir)
|
||||
if filename == "" {
|
||||
if importPath == "unsafe" {
|
||||
// Even for unsafe, call Find first in case
|
||||
// the package was vendored.
|
||||
return types.Unsafe, nil
|
||||
}
|
||||
return nil, fmt.Errorf("can't find import: %s", importPath)
|
||||
}
|
||||
|
||||
if pkg, ok := imp.imports[path]; ok && pkg.Complete() {
|
||||
return pkg, nil // cache hit
|
||||
}
|
||||
|
||||
// open file
|
||||
f, err := os.Open(filename)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer func() {
|
||||
f.Close()
|
||||
if err != nil {
|
||||
// add file name to error
|
||||
err = fmt.Errorf("reading export data: %s: %v", filename, err)
|
||||
}
|
||||
}()
|
||||
|
||||
r, err := NewReader(f)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return Read(r, imp.fset, imp.imports, path)
|
||||
}
|
||||
852
vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go
generated
vendored
Normal file
852
vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go
generated
vendored
Normal file
|
|
@ -0,0 +1,852 @@
|
|||
// Copyright 2016 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Binary package export.
|
||||
// This file was derived from $GOROOT/src/cmd/compile/internal/gc/bexport.go;
|
||||
// see that file for specification of the format.
|
||||
|
||||
package gcimporter
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"go/ast"
|
||||
"go/constant"
|
||||
"go/token"
|
||||
"go/types"
|
||||
"math"
|
||||
"math/big"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// If debugFormat is set, each integer and string value is preceded by a marker
|
||||
// and position information in the encoding. This mechanism permits an importer
|
||||
// to recognize immediately when it is out of sync. The importer recognizes this
|
||||
// mode automatically (i.e., it can import export data produced with debugging
|
||||
// support even if debugFormat is not set at the time of import). This mode will
|
||||
// lead to massively larger export data (by a factor of 2 to 3) and should only
|
||||
// be enabled during development and debugging.
|
||||
//
|
||||
// NOTE: This flag is the first flag to enable if importing dies because of
|
||||
// (suspected) format errors, and whenever a change is made to the format.
|
||||
const debugFormat = false // default: false
|
||||
|
||||
// If trace is set, debugging output is printed to std out.
|
||||
const trace = false // default: false
|
||||
|
||||
// Current export format version. Increase with each format change.
|
||||
// Note: The latest binary (non-indexed) export format is at version 6.
|
||||
// This exporter is still at level 4, but it doesn't matter since
|
||||
// the binary importer can handle older versions just fine.
|
||||
// 6: package height (CL 105038) -- NOT IMPLEMENTED HERE
|
||||
// 5: improved position encoding efficiency (issue 20080, CL 41619) -- NOT IMPLEMEMTED HERE
|
||||
// 4: type name objects support type aliases, uses aliasTag
|
||||
// 3: Go1.8 encoding (same as version 2, aliasTag defined but never used)
|
||||
// 2: removed unused bool in ODCL export (compiler only)
|
||||
// 1: header format change (more regular), export package for _ struct fields
|
||||
// 0: Go1.7 encoding
|
||||
const exportVersion = 4
|
||||
|
||||
// trackAllTypes enables cycle tracking for all types, not just named
|
||||
// types. The existing compiler invariants assume that unnamed types
|
||||
// that are not completely set up are not used, or else there are spurious
|
||||
// errors.
|
||||
// If disabled, only named types are tracked, possibly leading to slightly
|
||||
// less efficient encoding in rare cases. It also prevents the export of
|
||||
// some corner-case type declarations (but those are not handled correctly
|
||||
// with with the textual export format either).
|
||||
// TODO(gri) enable and remove once issues caused by it are fixed
|
||||
const trackAllTypes = false
|
||||
|
||||
type exporter struct {
|
||||
fset *token.FileSet
|
||||
out bytes.Buffer
|
||||
|
||||
// object -> index maps, indexed in order of serialization
|
||||
strIndex map[string]int
|
||||
pkgIndex map[*types.Package]int
|
||||
typIndex map[types.Type]int
|
||||
|
||||
// position encoding
|
||||
posInfoFormat bool
|
||||
prevFile string
|
||||
prevLine int
|
||||
|
||||
// debugging support
|
||||
written int // bytes written
|
||||
indent int // for trace
|
||||
}
|
||||
|
||||
// internalError represents an error generated inside this package.
|
||||
type internalError string
|
||||
|
||||
func (e internalError) Error() string { return "gcimporter: " + string(e) }
|
||||
|
||||
func internalErrorf(format string, args ...interface{}) error {
|
||||
return internalError(fmt.Sprintf(format, args...))
|
||||
}
|
||||
|
||||
// BExportData returns binary export data for pkg.
|
||||
// If no file set is provided, position info will be missing.
|
||||
func BExportData(fset *token.FileSet, pkg *types.Package) (b []byte, err error) {
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
if ierr, ok := e.(internalError); ok {
|
||||
err = ierr
|
||||
return
|
||||
}
|
||||
// Not an internal error; panic again.
|
||||
panic(e)
|
||||
}
|
||||
}()
|
||||
|
||||
p := exporter{
|
||||
fset: fset,
|
||||
strIndex: map[string]int{"": 0}, // empty string is mapped to 0
|
||||
pkgIndex: make(map[*types.Package]int),
|
||||
typIndex: make(map[types.Type]int),
|
||||
posInfoFormat: true, // TODO(gri) might become a flag, eventually
|
||||
}
|
||||
|
||||
// write version info
|
||||
// The version string must start with "version %d" where %d is the version
|
||||
// number. Additional debugging information may follow after a blank; that
|
||||
// text is ignored by the importer.
|
||||
p.rawStringln(fmt.Sprintf("version %d", exportVersion))
|
||||
var debug string
|
||||
if debugFormat {
|
||||
debug = "debug"
|
||||
}
|
||||
p.rawStringln(debug) // cannot use p.bool since it's affected by debugFormat; also want to see this clearly
|
||||
p.bool(trackAllTypes)
|
||||
p.bool(p.posInfoFormat)
|
||||
|
||||
// --- generic export data ---
|
||||
|
||||
// populate type map with predeclared "known" types
|
||||
for index, typ := range predeclared() {
|
||||
p.typIndex[typ] = index
|
||||
}
|
||||
if len(p.typIndex) != len(predeclared()) {
|
||||
return nil, internalError("duplicate entries in type map?")
|
||||
}
|
||||
|
||||
// write package data
|
||||
p.pkg(pkg, true)
|
||||
if trace {
|
||||
p.tracef("\n")
|
||||
}
|
||||
|
||||
// write objects
|
||||
objcount := 0
|
||||
scope := pkg.Scope()
|
||||
for _, name := range scope.Names() {
|
||||
if !ast.IsExported(name) {
|
||||
continue
|
||||
}
|
||||
if trace {
|
||||
p.tracef("\n")
|
||||
}
|
||||
p.obj(scope.Lookup(name))
|
||||
objcount++
|
||||
}
|
||||
|
||||
// indicate end of list
|
||||
if trace {
|
||||
p.tracef("\n")
|
||||
}
|
||||
p.tag(endTag)
|
||||
|
||||
// for self-verification only (redundant)
|
||||
p.int(objcount)
|
||||
|
||||
if trace {
|
||||
p.tracef("\n")
|
||||
}
|
||||
|
||||
// --- end of export data ---
|
||||
|
||||
return p.out.Bytes(), nil
|
||||
}
|
||||
|
||||
func (p *exporter) pkg(pkg *types.Package, emptypath bool) {
|
||||
if pkg == nil {
|
||||
panic(internalError("unexpected nil pkg"))
|
||||
}
|
||||
|
||||
// if we saw the package before, write its index (>= 0)
|
||||
if i, ok := p.pkgIndex[pkg]; ok {
|
||||
p.index('P', i)
|
||||
return
|
||||
}
|
||||
|
||||
// otherwise, remember the package, write the package tag (< 0) and package data
|
||||
if trace {
|
||||
p.tracef("P%d = { ", len(p.pkgIndex))
|
||||
defer p.tracef("} ")
|
||||
}
|
||||
p.pkgIndex[pkg] = len(p.pkgIndex)
|
||||
|
||||
p.tag(packageTag)
|
||||
p.string(pkg.Name())
|
||||
if emptypath {
|
||||
p.string("")
|
||||
} else {
|
||||
p.string(pkg.Path())
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) obj(obj types.Object) {
|
||||
switch obj := obj.(type) {
|
||||
case *types.Const:
|
||||
p.tag(constTag)
|
||||
p.pos(obj)
|
||||
p.qualifiedName(obj)
|
||||
p.typ(obj.Type())
|
||||
p.value(obj.Val())
|
||||
|
||||
case *types.TypeName:
|
||||
if obj.IsAlias() {
|
||||
p.tag(aliasTag)
|
||||
p.pos(obj)
|
||||
p.qualifiedName(obj)
|
||||
} else {
|
||||
p.tag(typeTag)
|
||||
}
|
||||
p.typ(obj.Type())
|
||||
|
||||
case *types.Var:
|
||||
p.tag(varTag)
|
||||
p.pos(obj)
|
||||
p.qualifiedName(obj)
|
||||
p.typ(obj.Type())
|
||||
|
||||
case *types.Func:
|
||||
p.tag(funcTag)
|
||||
p.pos(obj)
|
||||
p.qualifiedName(obj)
|
||||
sig := obj.Type().(*types.Signature)
|
||||
p.paramList(sig.Params(), sig.Variadic())
|
||||
p.paramList(sig.Results(), false)
|
||||
|
||||
default:
|
||||
panic(internalErrorf("unexpected object %v (%T)", obj, obj))
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) pos(obj types.Object) {
|
||||
if !p.posInfoFormat {
|
||||
return
|
||||
}
|
||||
|
||||
file, line := p.fileLine(obj)
|
||||
if file == p.prevFile {
|
||||
// common case: write line delta
|
||||
// delta == 0 means different file or no line change
|
||||
delta := line - p.prevLine
|
||||
p.int(delta)
|
||||
if delta == 0 {
|
||||
p.int(-1) // -1 means no file change
|
||||
}
|
||||
} else {
|
||||
// different file
|
||||
p.int(0)
|
||||
// Encode filename as length of common prefix with previous
|
||||
// filename, followed by (possibly empty) suffix. Filenames
|
||||
// frequently share path prefixes, so this can save a lot
|
||||
// of space and make export data size less dependent on file
|
||||
// path length. The suffix is unlikely to be empty because
|
||||
// file names tend to end in ".go".
|
||||
n := commonPrefixLen(p.prevFile, file)
|
||||
p.int(n) // n >= 0
|
||||
p.string(file[n:]) // write suffix only
|
||||
p.prevFile = file
|
||||
p.int(line)
|
||||
}
|
||||
p.prevLine = line
|
||||
}
|
||||
|
||||
func (p *exporter) fileLine(obj types.Object) (file string, line int) {
|
||||
if p.fset != nil {
|
||||
pos := p.fset.Position(obj.Pos())
|
||||
file = pos.Filename
|
||||
line = pos.Line
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func commonPrefixLen(a, b string) int {
|
||||
if len(a) > len(b) {
|
||||
a, b = b, a
|
||||
}
|
||||
// len(a) <= len(b)
|
||||
i := 0
|
||||
for i < len(a) && a[i] == b[i] {
|
||||
i++
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
func (p *exporter) qualifiedName(obj types.Object) {
|
||||
p.string(obj.Name())
|
||||
p.pkg(obj.Pkg(), false)
|
||||
}
|
||||
|
||||
func (p *exporter) typ(t types.Type) {
|
||||
if t == nil {
|
||||
panic(internalError("nil type"))
|
||||
}
|
||||
|
||||
// Possible optimization: Anonymous pointer types *T where
|
||||
// T is a named type are common. We could canonicalize all
|
||||
// such types *T to a single type PT = *T. This would lead
|
||||
// to at most one *T entry in typIndex, and all future *T's
|
||||
// would be encoded as the respective index directly. Would
|
||||
// save 1 byte (pointerTag) per *T and reduce the typIndex
|
||||
// size (at the cost of a canonicalization map). We can do
|
||||
// this later, without encoding format change.
|
||||
|
||||
// if we saw the type before, write its index (>= 0)
|
||||
if i, ok := p.typIndex[t]; ok {
|
||||
p.index('T', i)
|
||||
return
|
||||
}
|
||||
|
||||
// otherwise, remember the type, write the type tag (< 0) and type data
|
||||
if trackAllTypes {
|
||||
if trace {
|
||||
p.tracef("T%d = {>\n", len(p.typIndex))
|
||||
defer p.tracef("<\n} ")
|
||||
}
|
||||
p.typIndex[t] = len(p.typIndex)
|
||||
}
|
||||
|
||||
switch t := t.(type) {
|
||||
case *types.Named:
|
||||
if !trackAllTypes {
|
||||
// if we don't track all types, track named types now
|
||||
p.typIndex[t] = len(p.typIndex)
|
||||
}
|
||||
|
||||
p.tag(namedTag)
|
||||
p.pos(t.Obj())
|
||||
p.qualifiedName(t.Obj())
|
||||
p.typ(t.Underlying())
|
||||
if !types.IsInterface(t) {
|
||||
p.assocMethods(t)
|
||||
}
|
||||
|
||||
case *types.Array:
|
||||
p.tag(arrayTag)
|
||||
p.int64(t.Len())
|
||||
p.typ(t.Elem())
|
||||
|
||||
case *types.Slice:
|
||||
p.tag(sliceTag)
|
||||
p.typ(t.Elem())
|
||||
|
||||
case *dddSlice:
|
||||
p.tag(dddTag)
|
||||
p.typ(t.elem)
|
||||
|
||||
case *types.Struct:
|
||||
p.tag(structTag)
|
||||
p.fieldList(t)
|
||||
|
||||
case *types.Pointer:
|
||||
p.tag(pointerTag)
|
||||
p.typ(t.Elem())
|
||||
|
||||
case *types.Signature:
|
||||
p.tag(signatureTag)
|
||||
p.paramList(t.Params(), t.Variadic())
|
||||
p.paramList(t.Results(), false)
|
||||
|
||||
case *types.Interface:
|
||||
p.tag(interfaceTag)
|
||||
p.iface(t)
|
||||
|
||||
case *types.Map:
|
||||
p.tag(mapTag)
|
||||
p.typ(t.Key())
|
||||
p.typ(t.Elem())
|
||||
|
||||
case *types.Chan:
|
||||
p.tag(chanTag)
|
||||
p.int(int(3 - t.Dir())) // hack
|
||||
p.typ(t.Elem())
|
||||
|
||||
default:
|
||||
panic(internalErrorf("unexpected type %T: %s", t, t))
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) assocMethods(named *types.Named) {
|
||||
// Sort methods (for determinism).
|
||||
var methods []*types.Func
|
||||
for i := 0; i < named.NumMethods(); i++ {
|
||||
methods = append(methods, named.Method(i))
|
||||
}
|
||||
sort.Sort(methodsByName(methods))
|
||||
|
||||
p.int(len(methods))
|
||||
|
||||
if trace && methods != nil {
|
||||
p.tracef("associated methods {>\n")
|
||||
}
|
||||
|
||||
for i, m := range methods {
|
||||
if trace && i > 0 {
|
||||
p.tracef("\n")
|
||||
}
|
||||
|
||||
p.pos(m)
|
||||
name := m.Name()
|
||||
p.string(name)
|
||||
if !exported(name) {
|
||||
p.pkg(m.Pkg(), false)
|
||||
}
|
||||
|
||||
sig := m.Type().(*types.Signature)
|
||||
p.paramList(types.NewTuple(sig.Recv()), false)
|
||||
p.paramList(sig.Params(), sig.Variadic())
|
||||
p.paramList(sig.Results(), false)
|
||||
p.int(0) // dummy value for go:nointerface pragma - ignored by importer
|
||||
}
|
||||
|
||||
if trace && methods != nil {
|
||||
p.tracef("<\n} ")
|
||||
}
|
||||
}
|
||||
|
||||
type methodsByName []*types.Func
|
||||
|
||||
func (x methodsByName) Len() int { return len(x) }
|
||||
func (x methodsByName) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
|
||||
func (x methodsByName) Less(i, j int) bool { return x[i].Name() < x[j].Name() }
|
||||
|
||||
func (p *exporter) fieldList(t *types.Struct) {
|
||||
if trace && t.NumFields() > 0 {
|
||||
p.tracef("fields {>\n")
|
||||
defer p.tracef("<\n} ")
|
||||
}
|
||||
|
||||
p.int(t.NumFields())
|
||||
for i := 0; i < t.NumFields(); i++ {
|
||||
if trace && i > 0 {
|
||||
p.tracef("\n")
|
||||
}
|
||||
p.field(t.Field(i))
|
||||
p.string(t.Tag(i))
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) field(f *types.Var) {
|
||||
if !f.IsField() {
|
||||
panic(internalError("field expected"))
|
||||
}
|
||||
|
||||
p.pos(f)
|
||||
p.fieldName(f)
|
||||
p.typ(f.Type())
|
||||
}
|
||||
|
||||
func (p *exporter) iface(t *types.Interface) {
|
||||
// TODO(gri): enable importer to load embedded interfaces,
|
||||
// then emit Embeddeds and ExplicitMethods separately here.
|
||||
p.int(0)
|
||||
|
||||
n := t.NumMethods()
|
||||
if trace && n > 0 {
|
||||
p.tracef("methods {>\n")
|
||||
defer p.tracef("<\n} ")
|
||||
}
|
||||
p.int(n)
|
||||
for i := 0; i < n; i++ {
|
||||
if trace && i > 0 {
|
||||
p.tracef("\n")
|
||||
}
|
||||
p.method(t.Method(i))
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) method(m *types.Func) {
|
||||
sig := m.Type().(*types.Signature)
|
||||
if sig.Recv() == nil {
|
||||
panic(internalError("method expected"))
|
||||
}
|
||||
|
||||
p.pos(m)
|
||||
p.string(m.Name())
|
||||
if m.Name() != "_" && !ast.IsExported(m.Name()) {
|
||||
p.pkg(m.Pkg(), false)
|
||||
}
|
||||
|
||||
// interface method; no need to encode receiver.
|
||||
p.paramList(sig.Params(), sig.Variadic())
|
||||
p.paramList(sig.Results(), false)
|
||||
}
|
||||
|
||||
func (p *exporter) fieldName(f *types.Var) {
|
||||
name := f.Name()
|
||||
|
||||
if f.Anonymous() {
|
||||
// anonymous field - we distinguish between 3 cases:
|
||||
// 1) field name matches base type name and is exported
|
||||
// 2) field name matches base type name and is not exported
|
||||
// 3) field name doesn't match base type name (alias name)
|
||||
bname := basetypeName(f.Type())
|
||||
if name == bname {
|
||||
if ast.IsExported(name) {
|
||||
name = "" // 1) we don't need to know the field name or package
|
||||
} else {
|
||||
name = "?" // 2) use unexported name "?" to force package export
|
||||
}
|
||||
} else {
|
||||
// 3) indicate alias and export name as is
|
||||
// (this requires an extra "@" but this is a rare case)
|
||||
p.string("@")
|
||||
}
|
||||
}
|
||||
|
||||
p.string(name)
|
||||
if name != "" && !ast.IsExported(name) {
|
||||
p.pkg(f.Pkg(), false)
|
||||
}
|
||||
}
|
||||
|
||||
func basetypeName(typ types.Type) string {
|
||||
switch typ := deref(typ).(type) {
|
||||
case *types.Basic:
|
||||
return typ.Name()
|
||||
case *types.Named:
|
||||
return typ.Obj().Name()
|
||||
default:
|
||||
return "" // unnamed type
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) paramList(params *types.Tuple, variadic bool) {
|
||||
// use negative length to indicate unnamed parameters
|
||||
// (look at the first parameter only since either all
|
||||
// names are present or all are absent)
|
||||
n := params.Len()
|
||||
if n > 0 && params.At(0).Name() == "" {
|
||||
n = -n
|
||||
}
|
||||
p.int(n)
|
||||
for i := 0; i < params.Len(); i++ {
|
||||
q := params.At(i)
|
||||
t := q.Type()
|
||||
if variadic && i == params.Len()-1 {
|
||||
t = &dddSlice{t.(*types.Slice).Elem()}
|
||||
}
|
||||
p.typ(t)
|
||||
if n > 0 {
|
||||
name := q.Name()
|
||||
p.string(name)
|
||||
if name != "_" {
|
||||
p.pkg(q.Pkg(), false)
|
||||
}
|
||||
}
|
||||
p.string("") // no compiler-specific info
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) value(x constant.Value) {
|
||||
if trace {
|
||||
p.tracef("= ")
|
||||
}
|
||||
|
||||
switch x.Kind() {
|
||||
case constant.Bool:
|
||||
tag := falseTag
|
||||
if constant.BoolVal(x) {
|
||||
tag = trueTag
|
||||
}
|
||||
p.tag(tag)
|
||||
|
||||
case constant.Int:
|
||||
if v, exact := constant.Int64Val(x); exact {
|
||||
// common case: x fits into an int64 - use compact encoding
|
||||
p.tag(int64Tag)
|
||||
p.int64(v)
|
||||
return
|
||||
}
|
||||
// uncommon case: large x - use float encoding
|
||||
// (powers of 2 will be encoded efficiently with exponent)
|
||||
p.tag(floatTag)
|
||||
p.float(constant.ToFloat(x))
|
||||
|
||||
case constant.Float:
|
||||
p.tag(floatTag)
|
||||
p.float(x)
|
||||
|
||||
case constant.Complex:
|
||||
p.tag(complexTag)
|
||||
p.float(constant.Real(x))
|
||||
p.float(constant.Imag(x))
|
||||
|
||||
case constant.String:
|
||||
p.tag(stringTag)
|
||||
p.string(constant.StringVal(x))
|
||||
|
||||
case constant.Unknown:
|
||||
// package contains type errors
|
||||
p.tag(unknownTag)
|
||||
|
||||
default:
|
||||
panic(internalErrorf("unexpected value %v (%T)", x, x))
|
||||
}
|
||||
}
|
||||
|
||||
func (p *exporter) float(x constant.Value) {
|
||||
if x.Kind() != constant.Float {
|
||||
panic(internalErrorf("unexpected constant %v, want float", x))
|
||||
}
|
||||
// extract sign (there is no -0)
|
||||
sign := constant.Sign(x)
|
||||
if sign == 0 {
|
||||
// x == 0
|
||||
p.int(0)
|
||||
return
|
||||
}
|
||||
// x != 0
|
||||
|
||||
var f big.Float
|
||||
if v, exact := constant.Float64Val(x); exact {
|
||||
// float64
|
||||
f.SetFloat64(v)
|
||||
} else if num, denom := constant.Num(x), constant.Denom(x); num.Kind() == constant.Int {
|
||||
// TODO(gri): add big.Rat accessor to constant.Value.
|
||||
r := valueToRat(num)
|
||||
f.SetRat(r.Quo(r, valueToRat(denom)))
|
||||
} else {
|
||||
// Value too large to represent as a fraction => inaccessible.
|
||||
// TODO(gri): add big.Float accessor to constant.Value.
|
||||
f.SetFloat64(math.MaxFloat64) // FIXME
|
||||
}
|
||||
|
||||
// extract exponent such that 0.5 <= m < 1.0
|
||||
var m big.Float
|
||||
exp := f.MantExp(&m)
|
||||
|
||||
// extract mantissa as *big.Int
|
||||
// - set exponent large enough so mant satisfies mant.IsInt()
|
||||
// - get *big.Int from mant
|
||||
m.SetMantExp(&m, int(m.MinPrec()))
|
||||
mant, acc := m.Int(nil)
|
||||
if acc != big.Exact {
|
||||
panic(internalError("internal error"))
|
||||
}
|
||||
|
||||
p.int(sign)
|
||||
p.int(exp)
|
||||
p.string(string(mant.Bytes()))
|
||||
}
|
||||
|
||||
func valueToRat(x constant.Value) *big.Rat {
|
||||
// Convert little-endian to big-endian.
|
||||
// I can't believe this is necessary.
|
||||
bytes := constant.Bytes(x)
|
||||
for i := 0; i < len(bytes)/2; i++ {
|
||||
bytes[i], bytes[len(bytes)-1-i] = bytes[len(bytes)-1-i], bytes[i]
|
||||
}
|
||||
return new(big.Rat).SetInt(new(big.Int).SetBytes(bytes))
|
||||
}
|
||||
|
||||
func (p *exporter) bool(b bool) bool {
|
||||
if trace {
|
||||
p.tracef("[")
|
||||
defer p.tracef("= %v] ", b)
|
||||
}
|
||||
|
||||
x := 0
|
||||
if b {
|
||||
x = 1
|
||||
}
|
||||
p.int(x)
|
||||
return b
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Low-level encoders
|
||||
|
||||
func (p *exporter) index(marker byte, index int) {
|
||||
if index < 0 {
|
||||
panic(internalError("invalid index < 0"))
|
||||
}
|
||||
if debugFormat {
|
||||
p.marker('t')
|
||||
}
|
||||
if trace {
|
||||
p.tracef("%c%d ", marker, index)
|
||||
}
|
||||
p.rawInt64(int64(index))
|
||||
}
|
||||
|
||||
func (p *exporter) tag(tag int) {
|
||||
if tag >= 0 {
|
||||
panic(internalError("invalid tag >= 0"))
|
||||
}
|
||||
if debugFormat {
|
||||
p.marker('t')
|
||||
}
|
||||
if trace {
|
||||
p.tracef("%s ", tagString[-tag])
|
||||
}
|
||||
p.rawInt64(int64(tag))
|
||||
}
|
||||
|
||||
func (p *exporter) int(x int) {
|
||||
p.int64(int64(x))
|
||||
}
|
||||
|
||||
func (p *exporter) int64(x int64) {
|
||||
if debugFormat {
|
||||
p.marker('i')
|
||||
}
|
||||
if trace {
|
||||
p.tracef("%d ", x)
|
||||
}
|
||||
p.rawInt64(x)
|
||||
}
|
||||
|
||||
func (p *exporter) string(s string) {
|
||||
if debugFormat {
|
||||
p.marker('s')
|
||||
}
|
||||
if trace {
|
||||
p.tracef("%q ", s)
|
||||
}
|
||||
// if we saw the string before, write its index (>= 0)
|
||||
// (the empty string is mapped to 0)
|
||||
if i, ok := p.strIndex[s]; ok {
|
||||
p.rawInt64(int64(i))
|
||||
return
|
||||
}
|
||||
// otherwise, remember string and write its negative length and bytes
|
||||
p.strIndex[s] = len(p.strIndex)
|
||||
p.rawInt64(-int64(len(s)))
|
||||
for i := 0; i < len(s); i++ {
|
||||
p.rawByte(s[i])
|
||||
}
|
||||
}
|
||||
|
||||
// marker emits a marker byte and position information which makes
|
||||
// it easy for a reader to detect if it is "out of sync". Used for
|
||||
// debugFormat format only.
|
||||
func (p *exporter) marker(m byte) {
|
||||
p.rawByte(m)
|
||||
// Enable this for help tracking down the location
|
||||
// of an incorrect marker when running in debugFormat.
|
||||
if false && trace {
|
||||
p.tracef("#%d ", p.written)
|
||||
}
|
||||
p.rawInt64(int64(p.written))
|
||||
}
|
||||
|
||||
// rawInt64 should only be used by low-level encoders.
|
||||
func (p *exporter) rawInt64(x int64) {
|
||||
var tmp [binary.MaxVarintLen64]byte
|
||||
n := binary.PutVarint(tmp[:], x)
|
||||
for i := 0; i < n; i++ {
|
||||
p.rawByte(tmp[i])
|
||||
}
|
||||
}
|
||||
|
||||
// rawStringln should only be used to emit the initial version string.
|
||||
func (p *exporter) rawStringln(s string) {
|
||||
for i := 0; i < len(s); i++ {
|
||||
p.rawByte(s[i])
|
||||
}
|
||||
p.rawByte('\n')
|
||||
}
|
||||
|
||||
// rawByte is the bottleneck interface to write to p.out.
|
||||
// rawByte escapes b as follows (any encoding does that
|
||||
// hides '$'):
|
||||
//
|
||||
// '$' => '|' 'S'
|
||||
// '|' => '|' '|'
|
||||
//
|
||||
// Necessary so other tools can find the end of the
|
||||
// export data by searching for "$$".
|
||||
// rawByte should only be used by low-level encoders.
|
||||
func (p *exporter) rawByte(b byte) {
|
||||
switch b {
|
||||
case '$':
|
||||
// write '$' as '|' 'S'
|
||||
b = 'S'
|
||||
fallthrough
|
||||
case '|':
|
||||
// write '|' as '|' '|'
|
||||
p.out.WriteByte('|')
|
||||
p.written++
|
||||
}
|
||||
p.out.WriteByte(b)
|
||||
p.written++
|
||||
}
|
||||
|
||||
// tracef is like fmt.Printf but it rewrites the format string
|
||||
// to take care of indentation.
|
||||
func (p *exporter) tracef(format string, args ...interface{}) {
|
||||
if strings.ContainsAny(format, "<>\n") {
|
||||
var buf bytes.Buffer
|
||||
for i := 0; i < len(format); i++ {
|
||||
// no need to deal with runes
|
||||
ch := format[i]
|
||||
switch ch {
|
||||
case '>':
|
||||
p.indent++
|
||||
continue
|
||||
case '<':
|
||||
p.indent--
|
||||
continue
|
||||
}
|
||||
buf.WriteByte(ch)
|
||||
if ch == '\n' {
|
||||
for j := p.indent; j > 0; j-- {
|
||||
buf.WriteString(". ")
|
||||
}
|
||||
}
|
||||
}
|
||||
format = buf.String()
|
||||
}
|
||||
fmt.Printf(format, args...)
|
||||
}
|
||||
|
||||
// Debugging support.
|
||||
// (tagString is only used when tracing is enabled)
|
||||
var tagString = [...]string{
|
||||
// Packages
|
||||
-packageTag: "package",
|
||||
|
||||
// Types
|
||||
-namedTag: "named type",
|
||||
-arrayTag: "array",
|
||||
-sliceTag: "slice",
|
||||
-dddTag: "ddd",
|
||||
-structTag: "struct",
|
||||
-pointerTag: "pointer",
|
||||
-signatureTag: "signature",
|
||||
-interfaceTag: "interface",
|
||||
-mapTag: "map",
|
||||
-chanTag: "chan",
|
||||
|
||||
// Values
|
||||
-falseTag: "false",
|
||||
-trueTag: "true",
|
||||
-int64Tag: "int64",
|
||||
-floatTag: "float",
|
||||
-fractionTag: "fraction",
|
||||
-complexTag: "complex",
|
||||
-stringTag: "string",
|
||||
-unknownTag: "unknown",
|
||||
|
||||
// Type aliases
|
||||
-aliasTag: "alias",
|
||||
}
|
||||
1039
vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go
generated
vendored
Normal file
1039
vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
93
vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go
generated
vendored
Normal file
93
vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go
generated
vendored
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
// Copyright 2011 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// This file is a copy of $GOROOT/src/go/internal/gcimporter/exportdata.go.
|
||||
|
||||
// This file implements FindExportData.
|
||||
|
||||
package gcimporter
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func readGopackHeader(r *bufio.Reader) (name string, size int, err error) {
|
||||
// See $GOROOT/include/ar.h.
|
||||
hdr := make([]byte, 16+12+6+6+8+10+2)
|
||||
_, err = io.ReadFull(r, hdr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// leave for debugging
|
||||
if false {
|
||||
fmt.Printf("header: %s", hdr)
|
||||
}
|
||||
s := strings.TrimSpace(string(hdr[16+12+6+6+8:][:10]))
|
||||
size, err = strconv.Atoi(s)
|
||||
if err != nil || hdr[len(hdr)-2] != '`' || hdr[len(hdr)-1] != '\n' {
|
||||
err = fmt.Errorf("invalid archive header")
|
||||
return
|
||||
}
|
||||
name = strings.TrimSpace(string(hdr[:16]))
|
||||
return
|
||||
}
|
||||
|
||||
// FindExportData positions the reader r at the beginning of the
|
||||
// export data section of an underlying GC-created object/archive
|
||||
// file by reading from it. The reader must be positioned at the
|
||||
// start of the file before calling this function. The hdr result
|
||||
// is the string before the export data, either "$$" or "$$B".
|
||||
//
|
||||
func FindExportData(r *bufio.Reader) (hdr string, err error) {
|
||||
// Read first line to make sure this is an object file.
|
||||
line, err := r.ReadSlice('\n')
|
||||
if err != nil {
|
||||
err = fmt.Errorf("can't find export data (%v)", err)
|
||||
return
|
||||
}
|
||||
|
||||
if string(line) == "!<arch>\n" {
|
||||
// Archive file. Scan to __.PKGDEF.
|
||||
var name string
|
||||
if name, _, err = readGopackHeader(r); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// First entry should be __.PKGDEF.
|
||||
if name != "__.PKGDEF" {
|
||||
err = fmt.Errorf("go archive is missing __.PKGDEF")
|
||||
return
|
||||
}
|
||||
|
||||
// Read first line of __.PKGDEF data, so that line
|
||||
// is once again the first line of the input.
|
||||
if line, err = r.ReadSlice('\n'); err != nil {
|
||||
err = fmt.Errorf("can't find export data (%v)", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Now at __.PKGDEF in archive or still at beginning of file.
|
||||
// Either way, line should begin with "go object ".
|
||||
if !strings.HasPrefix(string(line), "go object ") {
|
||||
err = fmt.Errorf("not a Go object file")
|
||||
return
|
||||
}
|
||||
|
||||
// Skip over object header to export data.
|
||||
// Begins after first line starting with $$.
|
||||
for line[0] != '$' {
|
||||
if line, err = r.ReadSlice('\n'); err != nil {
|
||||
err = fmt.Errorf("can't find export data (%v)", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
hdr = string(line)
|
||||
|
||||
return
|
||||
}
|
||||
1078
vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go
generated
vendored
Normal file
1078
vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
781
vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go
generated
vendored
Normal file
781
vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go
generated
vendored
Normal file
|
|
@ -0,0 +1,781 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Indexed binary package export.
|
||||
// This file was derived from $GOROOT/src/cmd/compile/internal/gc/iexport.go;
|
||||
// see that file for specification of the format.
|
||||
|
||||
package gcimporter
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"go/ast"
|
||||
"go/constant"
|
||||
"go/token"
|
||||
"go/types"
|
||||
"io"
|
||||
"math/big"
|
||||
"reflect"
|
||||
"sort"
|
||||
)
|
||||
|
||||
// Current indexed export format version. Increase with each format change.
|
||||
// 0: Go1.11 encoding
|
||||
const iexportVersion = 0
|
||||
|
||||
// Current bundled export format version. Increase with each format change.
|
||||
// 0: initial implementation
|
||||
const bundleVersion = 0
|
||||
|
||||
// IExportData writes indexed export data for pkg to out.
|
||||
//
|
||||
// If no file set is provided, position info will be missing.
|
||||
// The package path of the top-level package will not be recorded,
|
||||
// so that calls to IImportData can override with a provided package path.
|
||||
func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
|
||||
return iexportCommon(out, fset, false, []*types.Package{pkg})
|
||||
}
|
||||
|
||||
// IExportBundle writes an indexed export bundle for pkgs to out.
|
||||
func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
|
||||
return iexportCommon(out, fset, true, pkgs)
|
||||
}
|
||||
|
||||
func iexportCommon(out io.Writer, fset *token.FileSet, bundle bool, pkgs []*types.Package) (err error) {
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
if ierr, ok := e.(internalError); ok {
|
||||
err = ierr
|
||||
return
|
||||
}
|
||||
// Not an internal error; panic again.
|
||||
panic(e)
|
||||
}
|
||||
}()
|
||||
|
||||
p := iexporter{
|
||||
fset: fset,
|
||||
allPkgs: map[*types.Package]bool{},
|
||||
stringIndex: map[string]uint64{},
|
||||
declIndex: map[types.Object]uint64{},
|
||||
typIndex: map[types.Type]uint64{},
|
||||
}
|
||||
if !bundle {
|
||||
p.localpkg = pkgs[0]
|
||||
}
|
||||
|
||||
for i, pt := range predeclared() {
|
||||
p.typIndex[pt] = uint64(i)
|
||||
}
|
||||
if len(p.typIndex) > predeclReserved {
|
||||
panic(internalErrorf("too many predeclared types: %d > %d", len(p.typIndex), predeclReserved))
|
||||
}
|
||||
|
||||
// Initialize work queue with exported declarations.
|
||||
for _, pkg := range pkgs {
|
||||
scope := pkg.Scope()
|
||||
for _, name := range scope.Names() {
|
||||
if ast.IsExported(name) {
|
||||
p.pushDecl(scope.Lookup(name))
|
||||
}
|
||||
}
|
||||
|
||||
if bundle {
|
||||
// Ensure pkg and its imports are included in the index.
|
||||
p.allPkgs[pkg] = true
|
||||
for _, imp := range pkg.Imports() {
|
||||
p.allPkgs[imp] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Loop until no more work.
|
||||
for !p.declTodo.empty() {
|
||||
p.doDecl(p.declTodo.popHead())
|
||||
}
|
||||
|
||||
// Append indices to data0 section.
|
||||
dataLen := uint64(p.data0.Len())
|
||||
w := p.newWriter()
|
||||
w.writeIndex(p.declIndex)
|
||||
|
||||
if bundle {
|
||||
w.uint64(uint64(len(pkgs)))
|
||||
for _, pkg := range pkgs {
|
||||
w.pkg(pkg)
|
||||
imps := pkg.Imports()
|
||||
w.uint64(uint64(len(imps)))
|
||||
for _, imp := range imps {
|
||||
w.pkg(imp)
|
||||
}
|
||||
}
|
||||
}
|
||||
w.flush()
|
||||
|
||||
// Assemble header.
|
||||
var hdr intWriter
|
||||
if bundle {
|
||||
hdr.uint64(bundleVersion)
|
||||
}
|
||||
hdr.uint64(iexportVersion)
|
||||
hdr.uint64(uint64(p.strings.Len()))
|
||||
hdr.uint64(dataLen)
|
||||
|
||||
// Flush output.
|
||||
io.Copy(out, &hdr)
|
||||
io.Copy(out, &p.strings)
|
||||
io.Copy(out, &p.data0)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// writeIndex writes out an object index. mainIndex indicates whether
|
||||
// we're writing out the main index, which is also read by
|
||||
// non-compiler tools and includes a complete package description
|
||||
// (i.e., name and height).
|
||||
func (w *exportWriter) writeIndex(index map[types.Object]uint64) {
|
||||
// Build a map from packages to objects from that package.
|
||||
pkgObjs := map[*types.Package][]types.Object{}
|
||||
|
||||
// For the main index, make sure to include every package that
|
||||
// we reference, even if we're not exporting (or reexporting)
|
||||
// any symbols from it.
|
||||
if w.p.localpkg != nil {
|
||||
pkgObjs[w.p.localpkg] = nil
|
||||
}
|
||||
for pkg := range w.p.allPkgs {
|
||||
pkgObjs[pkg] = nil
|
||||
}
|
||||
|
||||
for obj := range index {
|
||||
pkgObjs[obj.Pkg()] = append(pkgObjs[obj.Pkg()], obj)
|
||||
}
|
||||
|
||||
var pkgs []*types.Package
|
||||
for pkg, objs := range pkgObjs {
|
||||
pkgs = append(pkgs, pkg)
|
||||
|
||||
sort.Slice(objs, func(i, j int) bool {
|
||||
return objs[i].Name() < objs[j].Name()
|
||||
})
|
||||
}
|
||||
|
||||
sort.Slice(pkgs, func(i, j int) bool {
|
||||
return w.exportPath(pkgs[i]) < w.exportPath(pkgs[j])
|
||||
})
|
||||
|
||||
w.uint64(uint64(len(pkgs)))
|
||||
for _, pkg := range pkgs {
|
||||
w.string(w.exportPath(pkg))
|
||||
w.string(pkg.Name())
|
||||
w.uint64(uint64(0)) // package height is not needed for go/types
|
||||
|
||||
objs := pkgObjs[pkg]
|
||||
w.uint64(uint64(len(objs)))
|
||||
for _, obj := range objs {
|
||||
w.string(obj.Name())
|
||||
w.uint64(index[obj])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type iexporter struct {
|
||||
fset *token.FileSet
|
||||
out *bytes.Buffer
|
||||
|
||||
localpkg *types.Package
|
||||
|
||||
// allPkgs tracks all packages that have been referenced by
|
||||
// the export data, so we can ensure to include them in the
|
||||
// main index.
|
||||
allPkgs map[*types.Package]bool
|
||||
|
||||
declTodo objQueue
|
||||
|
||||
strings intWriter
|
||||
stringIndex map[string]uint64
|
||||
|
||||
data0 intWriter
|
||||
declIndex map[types.Object]uint64
|
||||
typIndex map[types.Type]uint64
|
||||
}
|
||||
|
||||
// stringOff returns the offset of s within the string section.
|
||||
// If not already present, it's added to the end.
|
||||
func (p *iexporter) stringOff(s string) uint64 {
|
||||
off, ok := p.stringIndex[s]
|
||||
if !ok {
|
||||
off = uint64(p.strings.Len())
|
||||
p.stringIndex[s] = off
|
||||
|
||||
p.strings.uint64(uint64(len(s)))
|
||||
p.strings.WriteString(s)
|
||||
}
|
||||
return off
|
||||
}
|
||||
|
||||
// pushDecl adds n to the declaration work queue, if not already present.
|
||||
func (p *iexporter) pushDecl(obj types.Object) {
|
||||
// Package unsafe is known to the compiler and predeclared.
|
||||
assert(obj.Pkg() != types.Unsafe)
|
||||
|
||||
if _, ok := p.declIndex[obj]; ok {
|
||||
return
|
||||
}
|
||||
|
||||
p.declIndex[obj] = ^uint64(0) // mark n present in work queue
|
||||
p.declTodo.pushTail(obj)
|
||||
}
|
||||
|
||||
// exportWriter handles writing out individual data section chunks.
|
||||
type exportWriter struct {
|
||||
p *iexporter
|
||||
|
||||
data intWriter
|
||||
currPkg *types.Package
|
||||
prevFile string
|
||||
prevLine int64
|
||||
}
|
||||
|
||||
func (w *exportWriter) exportPath(pkg *types.Package) string {
|
||||
if pkg == w.p.localpkg {
|
||||
return ""
|
||||
}
|
||||
return pkg.Path()
|
||||
}
|
||||
|
||||
func (p *iexporter) doDecl(obj types.Object) {
|
||||
w := p.newWriter()
|
||||
w.setPkg(obj.Pkg(), false)
|
||||
|
||||
switch obj := obj.(type) {
|
||||
case *types.Var:
|
||||
w.tag('V')
|
||||
w.pos(obj.Pos())
|
||||
w.typ(obj.Type(), obj.Pkg())
|
||||
|
||||
case *types.Func:
|
||||
sig, _ := obj.Type().(*types.Signature)
|
||||
if sig.Recv() != nil {
|
||||
panic(internalErrorf("unexpected method: %v", sig))
|
||||
}
|
||||
w.tag('F')
|
||||
w.pos(obj.Pos())
|
||||
w.signature(sig)
|
||||
|
||||
case *types.Const:
|
||||
w.tag('C')
|
||||
w.pos(obj.Pos())
|
||||
w.value(obj.Type(), obj.Val())
|
||||
|
||||
case *types.TypeName:
|
||||
if obj.IsAlias() {
|
||||
w.tag('A')
|
||||
w.pos(obj.Pos())
|
||||
w.typ(obj.Type(), obj.Pkg())
|
||||
break
|
||||
}
|
||||
|
||||
// Defined type.
|
||||
w.tag('T')
|
||||
w.pos(obj.Pos())
|
||||
|
||||
underlying := obj.Type().Underlying()
|
||||
w.typ(underlying, obj.Pkg())
|
||||
|
||||
t := obj.Type()
|
||||
if types.IsInterface(t) {
|
||||
break
|
||||
}
|
||||
|
||||
named, ok := t.(*types.Named)
|
||||
if !ok {
|
||||
panic(internalErrorf("%s is not a defined type", t))
|
||||
}
|
||||
|
||||
n := named.NumMethods()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
m := named.Method(i)
|
||||
w.pos(m.Pos())
|
||||
w.string(m.Name())
|
||||
sig, _ := m.Type().(*types.Signature)
|
||||
w.param(sig.Recv())
|
||||
w.signature(sig)
|
||||
}
|
||||
|
||||
default:
|
||||
panic(internalErrorf("unexpected object: %v", obj))
|
||||
}
|
||||
|
||||
p.declIndex[obj] = w.flush()
|
||||
}
|
||||
|
||||
func (w *exportWriter) tag(tag byte) {
|
||||
w.data.WriteByte(tag)
|
||||
}
|
||||
|
||||
func (w *exportWriter) pos(pos token.Pos) {
|
||||
if w.p.fset == nil {
|
||||
w.int64(0)
|
||||
return
|
||||
}
|
||||
|
||||
p := w.p.fset.Position(pos)
|
||||
file := p.Filename
|
||||
line := int64(p.Line)
|
||||
|
||||
// When file is the same as the last position (common case),
|
||||
// we can save a few bytes by delta encoding just the line
|
||||
// number.
|
||||
//
|
||||
// Note: Because data objects may be read out of order (or not
|
||||
// at all), we can only apply delta encoding within a single
|
||||
// object. This is handled implicitly by tracking prevFile and
|
||||
// prevLine as fields of exportWriter.
|
||||
|
||||
if file == w.prevFile {
|
||||
delta := line - w.prevLine
|
||||
w.int64(delta)
|
||||
if delta == deltaNewFile {
|
||||
w.int64(-1)
|
||||
}
|
||||
} else {
|
||||
w.int64(deltaNewFile)
|
||||
w.int64(line) // line >= 0
|
||||
w.string(file)
|
||||
w.prevFile = file
|
||||
}
|
||||
w.prevLine = line
|
||||
}
|
||||
|
||||
func (w *exportWriter) pkg(pkg *types.Package) {
|
||||
// Ensure any referenced packages are declared in the main index.
|
||||
w.p.allPkgs[pkg] = true
|
||||
|
||||
w.string(w.exportPath(pkg))
|
||||
}
|
||||
|
||||
func (w *exportWriter) qualifiedIdent(obj types.Object) {
|
||||
// Ensure any referenced declarations are written out too.
|
||||
w.p.pushDecl(obj)
|
||||
|
||||
w.string(obj.Name())
|
||||
w.pkg(obj.Pkg())
|
||||
}
|
||||
|
||||
func (w *exportWriter) typ(t types.Type, pkg *types.Package) {
|
||||
w.data.uint64(w.p.typOff(t, pkg))
|
||||
}
|
||||
|
||||
func (p *iexporter) newWriter() *exportWriter {
|
||||
return &exportWriter{p: p}
|
||||
}
|
||||
|
||||
func (w *exportWriter) flush() uint64 {
|
||||
off := uint64(w.p.data0.Len())
|
||||
io.Copy(&w.p.data0, &w.data)
|
||||
return off
|
||||
}
|
||||
|
||||
func (p *iexporter) typOff(t types.Type, pkg *types.Package) uint64 {
|
||||
off, ok := p.typIndex[t]
|
||||
if !ok {
|
||||
w := p.newWriter()
|
||||
w.doTyp(t, pkg)
|
||||
off = predeclReserved + w.flush()
|
||||
p.typIndex[t] = off
|
||||
}
|
||||
return off
|
||||
}
|
||||
|
||||
func (w *exportWriter) startType(k itag) {
|
||||
w.data.uint64(uint64(k))
|
||||
}
|
||||
|
||||
func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
||||
switch t := t.(type) {
|
||||
case *types.Named:
|
||||
w.startType(definedType)
|
||||
w.qualifiedIdent(t.Obj())
|
||||
|
||||
case *types.Pointer:
|
||||
w.startType(pointerType)
|
||||
w.typ(t.Elem(), pkg)
|
||||
|
||||
case *types.Slice:
|
||||
w.startType(sliceType)
|
||||
w.typ(t.Elem(), pkg)
|
||||
|
||||
case *types.Array:
|
||||
w.startType(arrayType)
|
||||
w.uint64(uint64(t.Len()))
|
||||
w.typ(t.Elem(), pkg)
|
||||
|
||||
case *types.Chan:
|
||||
w.startType(chanType)
|
||||
// 1 RecvOnly; 2 SendOnly; 3 SendRecv
|
||||
var dir uint64
|
||||
switch t.Dir() {
|
||||
case types.RecvOnly:
|
||||
dir = 1
|
||||
case types.SendOnly:
|
||||
dir = 2
|
||||
case types.SendRecv:
|
||||
dir = 3
|
||||
}
|
||||
w.uint64(dir)
|
||||
w.typ(t.Elem(), pkg)
|
||||
|
||||
case *types.Map:
|
||||
w.startType(mapType)
|
||||
w.typ(t.Key(), pkg)
|
||||
w.typ(t.Elem(), pkg)
|
||||
|
||||
case *types.Signature:
|
||||
w.startType(signatureType)
|
||||
w.setPkg(pkg, true)
|
||||
w.signature(t)
|
||||
|
||||
case *types.Struct:
|
||||
w.startType(structType)
|
||||
w.setPkg(pkg, true)
|
||||
|
||||
n := t.NumFields()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
f := t.Field(i)
|
||||
w.pos(f.Pos())
|
||||
w.string(f.Name())
|
||||
w.typ(f.Type(), pkg)
|
||||
w.bool(f.Anonymous())
|
||||
w.string(t.Tag(i)) // note (or tag)
|
||||
}
|
||||
|
||||
case *types.Interface:
|
||||
w.startType(interfaceType)
|
||||
w.setPkg(pkg, true)
|
||||
|
||||
n := t.NumEmbeddeds()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
f := t.Embedded(i)
|
||||
w.pos(f.Obj().Pos())
|
||||
w.typ(f.Obj().Type(), f.Obj().Pkg())
|
||||
}
|
||||
|
||||
n = t.NumExplicitMethods()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
m := t.ExplicitMethod(i)
|
||||
w.pos(m.Pos())
|
||||
w.string(m.Name())
|
||||
sig, _ := m.Type().(*types.Signature)
|
||||
w.signature(sig)
|
||||
}
|
||||
|
||||
default:
|
||||
panic(internalErrorf("unexpected type: %v, %v", t, reflect.TypeOf(t)))
|
||||
}
|
||||
}
|
||||
|
||||
func (w *exportWriter) setPkg(pkg *types.Package, write bool) {
|
||||
if write {
|
||||
w.pkg(pkg)
|
||||
}
|
||||
|
||||
w.currPkg = pkg
|
||||
}
|
||||
|
||||
func (w *exportWriter) signature(sig *types.Signature) {
|
||||
w.paramList(sig.Params())
|
||||
w.paramList(sig.Results())
|
||||
if sig.Params().Len() > 0 {
|
||||
w.bool(sig.Variadic())
|
||||
}
|
||||
}
|
||||
|
||||
func (w *exportWriter) paramList(tup *types.Tuple) {
|
||||
n := tup.Len()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
w.param(tup.At(i))
|
||||
}
|
||||
}
|
||||
|
||||
func (w *exportWriter) param(obj types.Object) {
|
||||
w.pos(obj.Pos())
|
||||
w.localIdent(obj)
|
||||
w.typ(obj.Type(), obj.Pkg())
|
||||
}
|
||||
|
||||
func (w *exportWriter) value(typ types.Type, v constant.Value) {
|
||||
w.typ(typ, nil)
|
||||
|
||||
switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
|
||||
case types.IsBoolean:
|
||||
w.bool(constant.BoolVal(v))
|
||||
case types.IsInteger:
|
||||
var i big.Int
|
||||
if i64, exact := constant.Int64Val(v); exact {
|
||||
i.SetInt64(i64)
|
||||
} else if ui64, exact := constant.Uint64Val(v); exact {
|
||||
i.SetUint64(ui64)
|
||||
} else {
|
||||
i.SetString(v.ExactString(), 10)
|
||||
}
|
||||
w.mpint(&i, typ)
|
||||
case types.IsFloat:
|
||||
f := constantToFloat(v)
|
||||
w.mpfloat(f, typ)
|
||||
case types.IsComplex:
|
||||
w.mpfloat(constantToFloat(constant.Real(v)), typ)
|
||||
w.mpfloat(constantToFloat(constant.Imag(v)), typ)
|
||||
case types.IsString:
|
||||
w.string(constant.StringVal(v))
|
||||
default:
|
||||
if b.Kind() == types.Invalid {
|
||||
// package contains type errors
|
||||
break
|
||||
}
|
||||
panic(internalErrorf("unexpected type %v (%v)", typ, typ.Underlying()))
|
||||
}
|
||||
}
|
||||
|
||||
// constantToFloat converts a constant.Value with kind constant.Float to a
|
||||
// big.Float.
|
||||
func constantToFloat(x constant.Value) *big.Float {
|
||||
x = constant.ToFloat(x)
|
||||
// Use the same floating-point precision (512) as cmd/compile
|
||||
// (see Mpprec in cmd/compile/internal/gc/mpfloat.go).
|
||||
const mpprec = 512
|
||||
var f big.Float
|
||||
f.SetPrec(mpprec)
|
||||
if v, exact := constant.Float64Val(x); exact {
|
||||
// float64
|
||||
f.SetFloat64(v)
|
||||
} else if num, denom := constant.Num(x), constant.Denom(x); num.Kind() == constant.Int {
|
||||
// TODO(gri): add big.Rat accessor to constant.Value.
|
||||
n := valueToRat(num)
|
||||
d := valueToRat(denom)
|
||||
f.SetRat(n.Quo(n, d))
|
||||
} else {
|
||||
// Value too large to represent as a fraction => inaccessible.
|
||||
// TODO(gri): add big.Float accessor to constant.Value.
|
||||
_, ok := f.SetString(x.ExactString())
|
||||
assert(ok)
|
||||
}
|
||||
return &f
|
||||
}
|
||||
|
||||
// mpint exports a multi-precision integer.
|
||||
//
|
||||
// For unsigned types, small values are written out as a single
|
||||
// byte. Larger values are written out as a length-prefixed big-endian
|
||||
// byte string, where the length prefix is encoded as its complement.
|
||||
// For example, bytes 0, 1, and 2 directly represent the integer
|
||||
// values 0, 1, and 2; while bytes 255, 254, and 253 indicate a 1-,
|
||||
// 2-, and 3-byte big-endian string follow.
|
||||
//
|
||||
// Encoding for signed types use the same general approach as for
|
||||
// unsigned types, except small values use zig-zag encoding and the
|
||||
// bottom bit of length prefix byte for large values is reserved as a
|
||||
// sign bit.
|
||||
//
|
||||
// The exact boundary between small and large encodings varies
|
||||
// according to the maximum number of bytes needed to encode a value
|
||||
// of type typ. As a special case, 8-bit types are always encoded as a
|
||||
// single byte.
|
||||
//
|
||||
// TODO(mdempsky): Is this level of complexity really worthwhile?
|
||||
func (w *exportWriter) mpint(x *big.Int, typ types.Type) {
|
||||
basic, ok := typ.Underlying().(*types.Basic)
|
||||
if !ok {
|
||||
panic(internalErrorf("unexpected type %v (%T)", typ.Underlying(), typ.Underlying()))
|
||||
}
|
||||
|
||||
signed, maxBytes := intSize(basic)
|
||||
|
||||
negative := x.Sign() < 0
|
||||
if !signed && negative {
|
||||
panic(internalErrorf("negative unsigned integer; type %v, value %v", typ, x))
|
||||
}
|
||||
|
||||
b := x.Bytes()
|
||||
if len(b) > 0 && b[0] == 0 {
|
||||
panic(internalErrorf("leading zeros"))
|
||||
}
|
||||
if uint(len(b)) > maxBytes {
|
||||
panic(internalErrorf("bad mpint length: %d > %d (type %v, value %v)", len(b), maxBytes, typ, x))
|
||||
}
|
||||
|
||||
maxSmall := 256 - maxBytes
|
||||
if signed {
|
||||
maxSmall = 256 - 2*maxBytes
|
||||
}
|
||||
if maxBytes == 1 {
|
||||
maxSmall = 256
|
||||
}
|
||||
|
||||
// Check if x can use small value encoding.
|
||||
if len(b) <= 1 {
|
||||
var ux uint
|
||||
if len(b) == 1 {
|
||||
ux = uint(b[0])
|
||||
}
|
||||
if signed {
|
||||
ux <<= 1
|
||||
if negative {
|
||||
ux--
|
||||
}
|
||||
}
|
||||
if ux < maxSmall {
|
||||
w.data.WriteByte(byte(ux))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
n := 256 - uint(len(b))
|
||||
if signed {
|
||||
n = 256 - 2*uint(len(b))
|
||||
if negative {
|
||||
n |= 1
|
||||
}
|
||||
}
|
||||
if n < maxSmall || n >= 256 {
|
||||
panic(internalErrorf("encoding mistake: %d, %v, %v => %d", len(b), signed, negative, n))
|
||||
}
|
||||
|
||||
w.data.WriteByte(byte(n))
|
||||
w.data.Write(b)
|
||||
}
|
||||
|
||||
// mpfloat exports a multi-precision floating point number.
|
||||
//
|
||||
// The number's value is decomposed into mantissa × 2**exponent, where
|
||||
// mantissa is an integer. The value is written out as mantissa (as a
|
||||
// multi-precision integer) and then the exponent, except exponent is
|
||||
// omitted if mantissa is zero.
|
||||
func (w *exportWriter) mpfloat(f *big.Float, typ types.Type) {
|
||||
if f.IsInf() {
|
||||
panic("infinite constant")
|
||||
}
|
||||
|
||||
// Break into f = mant × 2**exp, with 0.5 <= mant < 1.
|
||||
var mant big.Float
|
||||
exp := int64(f.MantExp(&mant))
|
||||
|
||||
// Scale so that mant is an integer.
|
||||
prec := mant.MinPrec()
|
||||
mant.SetMantExp(&mant, int(prec))
|
||||
exp -= int64(prec)
|
||||
|
||||
manti, acc := mant.Int(nil)
|
||||
if acc != big.Exact {
|
||||
panic(internalErrorf("mantissa scaling failed for %f (%s)", f, acc))
|
||||
}
|
||||
w.mpint(manti, typ)
|
||||
if manti.Sign() != 0 {
|
||||
w.int64(exp)
|
||||
}
|
||||
}
|
||||
|
||||
func (w *exportWriter) bool(b bool) bool {
|
||||
var x uint64
|
||||
if b {
|
||||
x = 1
|
||||
}
|
||||
w.uint64(x)
|
||||
return b
|
||||
}
|
||||
|
||||
func (w *exportWriter) int64(x int64) { w.data.int64(x) }
|
||||
func (w *exportWriter) uint64(x uint64) { w.data.uint64(x) }
|
||||
func (w *exportWriter) string(s string) { w.uint64(w.p.stringOff(s)) }
|
||||
|
||||
func (w *exportWriter) localIdent(obj types.Object) {
|
||||
// Anonymous parameters.
|
||||
if obj == nil {
|
||||
w.string("")
|
||||
return
|
||||
}
|
||||
|
||||
name := obj.Name()
|
||||
if name == "_" {
|
||||
w.string("_")
|
||||
return
|
||||
}
|
||||
|
||||
w.string(name)
|
||||
}
|
||||
|
||||
type intWriter struct {
|
||||
bytes.Buffer
|
||||
}
|
||||
|
||||
func (w *intWriter) int64(x int64) {
|
||||
var buf [binary.MaxVarintLen64]byte
|
||||
n := binary.PutVarint(buf[:], x)
|
||||
w.Write(buf[:n])
|
||||
}
|
||||
|
||||
func (w *intWriter) uint64(x uint64) {
|
||||
var buf [binary.MaxVarintLen64]byte
|
||||
n := binary.PutUvarint(buf[:], x)
|
||||
w.Write(buf[:n])
|
||||
}
|
||||
|
||||
func assert(cond bool) {
|
||||
if !cond {
|
||||
panic("internal error: assertion failed")
|
||||
}
|
||||
}
|
||||
|
||||
// The below is copied from go/src/cmd/compile/internal/gc/syntax.go.
|
||||
|
||||
// objQueue is a FIFO queue of types.Object. The zero value of objQueue is
|
||||
// a ready-to-use empty queue.
|
||||
type objQueue struct {
|
||||
ring []types.Object
|
||||
head, tail int
|
||||
}
|
||||
|
||||
// empty returns true if q contains no Nodes.
|
||||
func (q *objQueue) empty() bool {
|
||||
return q.head == q.tail
|
||||
}
|
||||
|
||||
// pushTail appends n to the tail of the queue.
|
||||
func (q *objQueue) pushTail(obj types.Object) {
|
||||
if len(q.ring) == 0 {
|
||||
q.ring = make([]types.Object, 16)
|
||||
} else if q.head+len(q.ring) == q.tail {
|
||||
// Grow the ring.
|
||||
nring := make([]types.Object, len(q.ring)*2)
|
||||
// Copy the old elements.
|
||||
part := q.ring[q.head%len(q.ring):]
|
||||
if q.tail-q.head <= len(part) {
|
||||
part = part[:q.tail-q.head]
|
||||
copy(nring, part)
|
||||
} else {
|
||||
pos := copy(nring, part)
|
||||
copy(nring[pos:], q.ring[:q.tail%len(q.ring)])
|
||||
}
|
||||
q.ring, q.head, q.tail = nring, 0, q.tail-q.head
|
||||
}
|
||||
|
||||
q.ring[q.tail%len(q.ring)] = obj
|
||||
q.tail++
|
||||
}
|
||||
|
||||
// popHead pops a node from the head of the queue. It panics if q is empty.
|
||||
func (q *objQueue) popHead() types.Object {
|
||||
if q.empty() {
|
||||
panic("dequeue empty")
|
||||
}
|
||||
obj := q.ring[q.head%len(q.ring)]
|
||||
q.head++
|
||||
return obj
|
||||
}
|
||||
676
vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go
generated
vendored
Normal file
676
vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go
generated
vendored
Normal file
|
|
@ -0,0 +1,676 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Indexed package import.
|
||||
// See cmd/compile/internal/gc/iexport.go for the export data format.
|
||||
|
||||
// This file is a copy of $GOROOT/src/go/internal/gcimporter/iimport.go.
|
||||
|
||||
package gcimporter
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"go/constant"
|
||||
"go/token"
|
||||
"go/types"
|
||||
"io"
|
||||
"sort"
|
||||
)
|
||||
|
||||
type intReader struct {
|
||||
*bytes.Reader
|
||||
path string
|
||||
}
|
||||
|
||||
func (r *intReader) int64() int64 {
|
||||
i, err := binary.ReadVarint(r.Reader)
|
||||
if err != nil {
|
||||
errorf("import %q: read varint error: %v", r.path, err)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
func (r *intReader) uint64() uint64 {
|
||||
i, err := binary.ReadUvarint(r.Reader)
|
||||
if err != nil {
|
||||
errorf("import %q: read varint error: %v", r.path, err)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
const predeclReserved = 32
|
||||
|
||||
type itag uint64
|
||||
|
||||
const (
|
||||
// Types
|
||||
definedType itag = iota
|
||||
pointerType
|
||||
sliceType
|
||||
arrayType
|
||||
chanType
|
||||
mapType
|
||||
signatureType
|
||||
structType
|
||||
interfaceType
|
||||
)
|
||||
|
||||
// IImportData imports a package from the serialized package data
|
||||
// and returns 0 and a reference to the package.
|
||||
// If the export data version is not recognized or the format is otherwise
|
||||
// compromised, an error is returned.
|
||||
func IImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (int, *types.Package, error) {
|
||||
pkgs, err := iimportCommon(fset, imports, data, false, path)
|
||||
if err != nil {
|
||||
return 0, nil, err
|
||||
}
|
||||
return 0, pkgs[0], nil
|
||||
}
|
||||
|
||||
// IImportBundle imports a set of packages from the serialized package bundle.
|
||||
func IImportBundle(fset *token.FileSet, imports map[string]*types.Package, data []byte) ([]*types.Package, error) {
|
||||
return iimportCommon(fset, imports, data, true, "")
|
||||
}
|
||||
|
||||
func iimportCommon(fset *token.FileSet, imports map[string]*types.Package, data []byte, bundle bool, path string) (pkgs []*types.Package, err error) {
|
||||
const currentVersion = 1
|
||||
version := int64(-1)
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
if version > currentVersion {
|
||||
err = fmt.Errorf("cannot import %q (%v), export data is newer version - update tool", path, e)
|
||||
} else {
|
||||
err = fmt.Errorf("cannot import %q (%v), possibly version skew - reinstall package", path, e)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
r := &intReader{bytes.NewReader(data), path}
|
||||
|
||||
if bundle {
|
||||
bundleVersion := r.uint64()
|
||||
switch bundleVersion {
|
||||
case bundleVersion:
|
||||
default:
|
||||
errorf("unknown bundle format version %d", bundleVersion)
|
||||
}
|
||||
}
|
||||
|
||||
version = int64(r.uint64())
|
||||
switch version {
|
||||
case currentVersion, 0:
|
||||
default:
|
||||
errorf("unknown iexport format version %d", version)
|
||||
}
|
||||
|
||||
sLen := int64(r.uint64())
|
||||
dLen := int64(r.uint64())
|
||||
|
||||
whence, _ := r.Seek(0, io.SeekCurrent)
|
||||
stringData := data[whence : whence+sLen]
|
||||
declData := data[whence+sLen : whence+sLen+dLen]
|
||||
r.Seek(sLen+dLen, io.SeekCurrent)
|
||||
|
||||
p := iimporter{
|
||||
ipath: path,
|
||||
version: int(version),
|
||||
|
||||
stringData: stringData,
|
||||
stringCache: make(map[uint64]string),
|
||||
pkgCache: make(map[uint64]*types.Package),
|
||||
|
||||
declData: declData,
|
||||
pkgIndex: make(map[*types.Package]map[string]uint64),
|
||||
typCache: make(map[uint64]types.Type),
|
||||
|
||||
fake: fakeFileSet{
|
||||
fset: fset,
|
||||
files: make(map[string]*token.File),
|
||||
},
|
||||
}
|
||||
|
||||
for i, pt := range predeclared() {
|
||||
p.typCache[uint64(i)] = pt
|
||||
}
|
||||
|
||||
pkgList := make([]*types.Package, r.uint64())
|
||||
for i := range pkgList {
|
||||
pkgPathOff := r.uint64()
|
||||
pkgPath := p.stringAt(pkgPathOff)
|
||||
pkgName := p.stringAt(r.uint64())
|
||||
_ = r.uint64() // package height; unused by go/types
|
||||
|
||||
if pkgPath == "" {
|
||||
pkgPath = path
|
||||
}
|
||||
pkg := imports[pkgPath]
|
||||
if pkg == nil {
|
||||
pkg = types.NewPackage(pkgPath, pkgName)
|
||||
imports[pkgPath] = pkg
|
||||
} else if pkg.Name() != pkgName {
|
||||
errorf("conflicting names %s and %s for package %q", pkg.Name(), pkgName, path)
|
||||
}
|
||||
|
||||
p.pkgCache[pkgPathOff] = pkg
|
||||
|
||||
nameIndex := make(map[string]uint64)
|
||||
for nSyms := r.uint64(); nSyms > 0; nSyms-- {
|
||||
name := p.stringAt(r.uint64())
|
||||
nameIndex[name] = r.uint64()
|
||||
}
|
||||
|
||||
p.pkgIndex[pkg] = nameIndex
|
||||
pkgList[i] = pkg
|
||||
}
|
||||
|
||||
if bundle {
|
||||
pkgs = make([]*types.Package, r.uint64())
|
||||
for i := range pkgs {
|
||||
pkg := p.pkgAt(r.uint64())
|
||||
imps := make([]*types.Package, r.uint64())
|
||||
for j := range imps {
|
||||
imps[j] = p.pkgAt(r.uint64())
|
||||
}
|
||||
pkg.SetImports(imps)
|
||||
pkgs[i] = pkg
|
||||
}
|
||||
} else {
|
||||
if len(pkgList) == 0 {
|
||||
errorf("no packages found for %s", path)
|
||||
panic("unreachable")
|
||||
}
|
||||
pkgs = pkgList[:1]
|
||||
|
||||
// record all referenced packages as imports
|
||||
list := append(([]*types.Package)(nil), pkgList[1:]...)
|
||||
sort.Sort(byPath(list))
|
||||
pkgs[0].SetImports(list)
|
||||
}
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
if pkg.Complete() {
|
||||
continue
|
||||
}
|
||||
|
||||
names := make([]string, 0, len(p.pkgIndex[pkg]))
|
||||
for name := range p.pkgIndex[pkg] {
|
||||
names = append(names, name)
|
||||
}
|
||||
sort.Strings(names)
|
||||
for _, name := range names {
|
||||
p.doDecl(pkg, name)
|
||||
}
|
||||
|
||||
// package was imported completely and without errors
|
||||
pkg.MarkComplete()
|
||||
}
|
||||
|
||||
for _, typ := range p.interfaceList {
|
||||
typ.Complete()
|
||||
}
|
||||
|
||||
return pkgs, nil
|
||||
}
|
||||
|
||||
type iimporter struct {
|
||||
ipath string
|
||||
version int
|
||||
|
||||
stringData []byte
|
||||
stringCache map[uint64]string
|
||||
pkgCache map[uint64]*types.Package
|
||||
|
||||
declData []byte
|
||||
pkgIndex map[*types.Package]map[string]uint64
|
||||
typCache map[uint64]types.Type
|
||||
|
||||
fake fakeFileSet
|
||||
interfaceList []*types.Interface
|
||||
}
|
||||
|
||||
func (p *iimporter) doDecl(pkg *types.Package, name string) {
|
||||
// See if we've already imported this declaration.
|
||||
if obj := pkg.Scope().Lookup(name); obj != nil {
|
||||
return
|
||||
}
|
||||
|
||||
off, ok := p.pkgIndex[pkg][name]
|
||||
if !ok {
|
||||
errorf("%v.%v not in index", pkg, name)
|
||||
}
|
||||
|
||||
r := &importReader{p: p, currPkg: pkg}
|
||||
r.declReader.Reset(p.declData[off:])
|
||||
|
||||
r.obj(name)
|
||||
}
|
||||
|
||||
func (p *iimporter) stringAt(off uint64) string {
|
||||
if s, ok := p.stringCache[off]; ok {
|
||||
return s
|
||||
}
|
||||
|
||||
slen, n := binary.Uvarint(p.stringData[off:])
|
||||
if n <= 0 {
|
||||
errorf("varint failed")
|
||||
}
|
||||
spos := off + uint64(n)
|
||||
s := string(p.stringData[spos : spos+slen])
|
||||
p.stringCache[off] = s
|
||||
return s
|
||||
}
|
||||
|
||||
func (p *iimporter) pkgAt(off uint64) *types.Package {
|
||||
if pkg, ok := p.pkgCache[off]; ok {
|
||||
return pkg
|
||||
}
|
||||
path := p.stringAt(off)
|
||||
errorf("missing package %q in %q", path, p.ipath)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *iimporter) typAt(off uint64, base *types.Named) types.Type {
|
||||
if t, ok := p.typCache[off]; ok && (base == nil || !isInterface(t)) {
|
||||
return t
|
||||
}
|
||||
|
||||
if off < predeclReserved {
|
||||
errorf("predeclared type missing from cache: %v", off)
|
||||
}
|
||||
|
||||
r := &importReader{p: p}
|
||||
r.declReader.Reset(p.declData[off-predeclReserved:])
|
||||
t := r.doType(base)
|
||||
|
||||
if base == nil || !isInterface(t) {
|
||||
p.typCache[off] = t
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
type importReader struct {
|
||||
p *iimporter
|
||||
declReader bytes.Reader
|
||||
currPkg *types.Package
|
||||
prevFile string
|
||||
prevLine int64
|
||||
prevColumn int64
|
||||
}
|
||||
|
||||
func (r *importReader) obj(name string) {
|
||||
tag := r.byte()
|
||||
pos := r.pos()
|
||||
|
||||
switch tag {
|
||||
case 'A':
|
||||
typ := r.typ()
|
||||
|
||||
r.declare(types.NewTypeName(pos, r.currPkg, name, typ))
|
||||
|
||||
case 'C':
|
||||
typ, val := r.value()
|
||||
|
||||
r.declare(types.NewConst(pos, r.currPkg, name, typ, val))
|
||||
|
||||
case 'F':
|
||||
sig := r.signature(nil)
|
||||
|
||||
r.declare(types.NewFunc(pos, r.currPkg, name, sig))
|
||||
|
||||
case 'T':
|
||||
// Types can be recursive. We need to setup a stub
|
||||
// declaration before recursing.
|
||||
obj := types.NewTypeName(pos, r.currPkg, name, nil)
|
||||
named := types.NewNamed(obj, nil, nil)
|
||||
r.declare(obj)
|
||||
|
||||
underlying := r.p.typAt(r.uint64(), named).Underlying()
|
||||
named.SetUnderlying(underlying)
|
||||
|
||||
if !isInterface(underlying) {
|
||||
for n := r.uint64(); n > 0; n-- {
|
||||
mpos := r.pos()
|
||||
mname := r.ident()
|
||||
recv := r.param()
|
||||
msig := r.signature(recv)
|
||||
|
||||
named.AddMethod(types.NewFunc(mpos, r.currPkg, mname, msig))
|
||||
}
|
||||
}
|
||||
|
||||
case 'V':
|
||||
typ := r.typ()
|
||||
|
||||
r.declare(types.NewVar(pos, r.currPkg, name, typ))
|
||||
|
||||
default:
|
||||
errorf("unexpected tag: %v", tag)
|
||||
}
|
||||
}
|
||||
|
||||
func (r *importReader) declare(obj types.Object) {
|
||||
obj.Pkg().Scope().Insert(obj)
|
||||
}
|
||||
|
||||
func (r *importReader) value() (typ types.Type, val constant.Value) {
|
||||
typ = r.typ()
|
||||
|
||||
switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
|
||||
case types.IsBoolean:
|
||||
val = constant.MakeBool(r.bool())
|
||||
|
||||
case types.IsString:
|
||||
val = constant.MakeString(r.string())
|
||||
|
||||
case types.IsInteger:
|
||||
val = r.mpint(b)
|
||||
|
||||
case types.IsFloat:
|
||||
val = r.mpfloat(b)
|
||||
|
||||
case types.IsComplex:
|
||||
re := r.mpfloat(b)
|
||||
im := r.mpfloat(b)
|
||||
val = constant.BinaryOp(re, token.ADD, constant.MakeImag(im))
|
||||
|
||||
default:
|
||||
if b.Kind() == types.Invalid {
|
||||
val = constant.MakeUnknown()
|
||||
return
|
||||
}
|
||||
errorf("unexpected type %v", typ) // panics
|
||||
panic("unreachable")
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func intSize(b *types.Basic) (signed bool, maxBytes uint) {
|
||||
if (b.Info() & types.IsUntyped) != 0 {
|
||||
return true, 64
|
||||
}
|
||||
|
||||
switch b.Kind() {
|
||||
case types.Float32, types.Complex64:
|
||||
return true, 3
|
||||
case types.Float64, types.Complex128:
|
||||
return true, 7
|
||||
}
|
||||
|
||||
signed = (b.Info() & types.IsUnsigned) == 0
|
||||
switch b.Kind() {
|
||||
case types.Int8, types.Uint8:
|
||||
maxBytes = 1
|
||||
case types.Int16, types.Uint16:
|
||||
maxBytes = 2
|
||||
case types.Int32, types.Uint32:
|
||||
maxBytes = 4
|
||||
default:
|
||||
maxBytes = 8
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (r *importReader) mpint(b *types.Basic) constant.Value {
|
||||
signed, maxBytes := intSize(b)
|
||||
|
||||
maxSmall := 256 - maxBytes
|
||||
if signed {
|
||||
maxSmall = 256 - 2*maxBytes
|
||||
}
|
||||
if maxBytes == 1 {
|
||||
maxSmall = 256
|
||||
}
|
||||
|
||||
n, _ := r.declReader.ReadByte()
|
||||
if uint(n) < maxSmall {
|
||||
v := int64(n)
|
||||
if signed {
|
||||
v >>= 1
|
||||
if n&1 != 0 {
|
||||
v = ^v
|
||||
}
|
||||
}
|
||||
return constant.MakeInt64(v)
|
||||
}
|
||||
|
||||
v := -n
|
||||
if signed {
|
||||
v = -(n &^ 1) >> 1
|
||||
}
|
||||
if v < 1 || uint(v) > maxBytes {
|
||||
errorf("weird decoding: %v, %v => %v", n, signed, v)
|
||||
}
|
||||
|
||||
buf := make([]byte, v)
|
||||
io.ReadFull(&r.declReader, buf)
|
||||
|
||||
// convert to little endian
|
||||
// TODO(gri) go/constant should have a more direct conversion function
|
||||
// (e.g., once it supports a big.Float based implementation)
|
||||
for i, j := 0, len(buf)-1; i < j; i, j = i+1, j-1 {
|
||||
buf[i], buf[j] = buf[j], buf[i]
|
||||
}
|
||||
|
||||
x := constant.MakeFromBytes(buf)
|
||||
if signed && n&1 != 0 {
|
||||
x = constant.UnaryOp(token.SUB, x, 0)
|
||||
}
|
||||
return x
|
||||
}
|
||||
|
||||
func (r *importReader) mpfloat(b *types.Basic) constant.Value {
|
||||
x := r.mpint(b)
|
||||
if constant.Sign(x) == 0 {
|
||||
return x
|
||||
}
|
||||
|
||||
exp := r.int64()
|
||||
switch {
|
||||
case exp > 0:
|
||||
x = constant.Shift(x, token.SHL, uint(exp))
|
||||
// Ensure that the imported Kind is Float, else this constant may run into
|
||||
// bitsize limits on overlarge integers. Eventually we can instead adopt
|
||||
// the approach of CL 288632, but that CL relies on go/constant APIs that
|
||||
// were introduced in go1.13.
|
||||
//
|
||||
// TODO(rFindley): sync the logic here with tip Go once we no longer
|
||||
// support go1.12.
|
||||
x = constant.ToFloat(x)
|
||||
case exp < 0:
|
||||
d := constant.Shift(constant.MakeInt64(1), token.SHL, uint(-exp))
|
||||
x = constant.BinaryOp(x, token.QUO, d)
|
||||
}
|
||||
return x
|
||||
}
|
||||
|
||||
func (r *importReader) ident() string {
|
||||
return r.string()
|
||||
}
|
||||
|
||||
func (r *importReader) qualifiedIdent() (*types.Package, string) {
|
||||
name := r.string()
|
||||
pkg := r.pkg()
|
||||
return pkg, name
|
||||
}
|
||||
|
||||
func (r *importReader) pos() token.Pos {
|
||||
if r.p.version >= 1 {
|
||||
r.posv1()
|
||||
} else {
|
||||
r.posv0()
|
||||
}
|
||||
|
||||
if r.prevFile == "" && r.prevLine == 0 && r.prevColumn == 0 {
|
||||
return token.NoPos
|
||||
}
|
||||
return r.p.fake.pos(r.prevFile, int(r.prevLine), int(r.prevColumn))
|
||||
}
|
||||
|
||||
func (r *importReader) posv0() {
|
||||
delta := r.int64()
|
||||
if delta != deltaNewFile {
|
||||
r.prevLine += delta
|
||||
} else if l := r.int64(); l == -1 {
|
||||
r.prevLine += deltaNewFile
|
||||
} else {
|
||||
r.prevFile = r.string()
|
||||
r.prevLine = l
|
||||
}
|
||||
}
|
||||
|
||||
func (r *importReader) posv1() {
|
||||
delta := r.int64()
|
||||
r.prevColumn += delta >> 1
|
||||
if delta&1 != 0 {
|
||||
delta = r.int64()
|
||||
r.prevLine += delta >> 1
|
||||
if delta&1 != 0 {
|
||||
r.prevFile = r.string()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (r *importReader) typ() types.Type {
|
||||
return r.p.typAt(r.uint64(), nil)
|
||||
}
|
||||
|
||||
func isInterface(t types.Type) bool {
|
||||
_, ok := t.(*types.Interface)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (r *importReader) pkg() *types.Package { return r.p.pkgAt(r.uint64()) }
|
||||
func (r *importReader) string() string { return r.p.stringAt(r.uint64()) }
|
||||
|
||||
func (r *importReader) doType(base *types.Named) types.Type {
|
||||
switch k := r.kind(); k {
|
||||
default:
|
||||
errorf("unexpected kind tag in %q: %v", r.p.ipath, k)
|
||||
return nil
|
||||
|
||||
case definedType:
|
||||
pkg, name := r.qualifiedIdent()
|
||||
r.p.doDecl(pkg, name)
|
||||
return pkg.Scope().Lookup(name).(*types.TypeName).Type()
|
||||
case pointerType:
|
||||
return types.NewPointer(r.typ())
|
||||
case sliceType:
|
||||
return types.NewSlice(r.typ())
|
||||
case arrayType:
|
||||
n := r.uint64()
|
||||
return types.NewArray(r.typ(), int64(n))
|
||||
case chanType:
|
||||
dir := chanDir(int(r.uint64()))
|
||||
return types.NewChan(dir, r.typ())
|
||||
case mapType:
|
||||
return types.NewMap(r.typ(), r.typ())
|
||||
case signatureType:
|
||||
r.currPkg = r.pkg()
|
||||
return r.signature(nil)
|
||||
|
||||
case structType:
|
||||
r.currPkg = r.pkg()
|
||||
|
||||
fields := make([]*types.Var, r.uint64())
|
||||
tags := make([]string, len(fields))
|
||||
for i := range fields {
|
||||
fpos := r.pos()
|
||||
fname := r.ident()
|
||||
ftyp := r.typ()
|
||||
emb := r.bool()
|
||||
tag := r.string()
|
||||
|
||||
fields[i] = types.NewField(fpos, r.currPkg, fname, ftyp, emb)
|
||||
tags[i] = tag
|
||||
}
|
||||
return types.NewStruct(fields, tags)
|
||||
|
||||
case interfaceType:
|
||||
r.currPkg = r.pkg()
|
||||
|
||||
embeddeds := make([]types.Type, r.uint64())
|
||||
for i := range embeddeds {
|
||||
_ = r.pos()
|
||||
embeddeds[i] = r.typ()
|
||||
}
|
||||
|
||||
methods := make([]*types.Func, r.uint64())
|
||||
for i := range methods {
|
||||
mpos := r.pos()
|
||||
mname := r.ident()
|
||||
|
||||
// TODO(mdempsky): Matches bimport.go, but I
|
||||
// don't agree with this.
|
||||
var recv *types.Var
|
||||
if base != nil {
|
||||
recv = types.NewVar(token.NoPos, r.currPkg, "", base)
|
||||
}
|
||||
|
||||
msig := r.signature(recv)
|
||||
methods[i] = types.NewFunc(mpos, r.currPkg, mname, msig)
|
||||
}
|
||||
|
||||
typ := newInterface(methods, embeddeds)
|
||||
r.p.interfaceList = append(r.p.interfaceList, typ)
|
||||
return typ
|
||||
}
|
||||
}
|
||||
|
||||
func (r *importReader) kind() itag {
|
||||
return itag(r.uint64())
|
||||
}
|
||||
|
||||
func (r *importReader) signature(recv *types.Var) *types.Signature {
|
||||
params := r.paramList()
|
||||
results := r.paramList()
|
||||
variadic := params.Len() > 0 && r.bool()
|
||||
return types.NewSignature(recv, params, results, variadic)
|
||||
}
|
||||
|
||||
func (r *importReader) paramList() *types.Tuple {
|
||||
xs := make([]*types.Var, r.uint64())
|
||||
for i := range xs {
|
||||
xs[i] = r.param()
|
||||
}
|
||||
return types.NewTuple(xs...)
|
||||
}
|
||||
|
||||
func (r *importReader) param() *types.Var {
|
||||
pos := r.pos()
|
||||
name := r.ident()
|
||||
typ := r.typ()
|
||||
return types.NewParam(pos, r.currPkg, name, typ)
|
||||
}
|
||||
|
||||
func (r *importReader) bool() bool {
|
||||
return r.uint64() != 0
|
||||
}
|
||||
|
||||
func (r *importReader) int64() int64 {
|
||||
n, err := binary.ReadVarint(&r.declReader)
|
||||
if err != nil {
|
||||
errorf("readVarint: %v", err)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (r *importReader) uint64() uint64 {
|
||||
n, err := binary.ReadUvarint(&r.declReader)
|
||||
if err != nil {
|
||||
errorf("readUvarint: %v", err)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (r *importReader) byte() byte {
|
||||
x, err := r.declReader.ReadByte()
|
||||
if err != nil {
|
||||
errorf("declReader.ReadByte: %v", err)
|
||||
}
|
||||
return x
|
||||
}
|
||||
22
vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
generated
vendored
Normal file
22
vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build !go1.11
|
||||
// +build !go1.11
|
||||
|
||||
package gcimporter
|
||||
|
||||
import "go/types"
|
||||
|
||||
func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
|
||||
named := make([]*types.Named, len(embeddeds))
|
||||
for i, e := range embeddeds {
|
||||
var ok bool
|
||||
named[i], ok = e.(*types.Named)
|
||||
if !ok {
|
||||
panic("embedding of non-defined interfaces in interfaces is not supported before Go 1.11")
|
||||
}
|
||||
}
|
||||
return types.NewInterface(methods, named)
|
||||
}
|
||||
14
vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go
generated
vendored
Normal file
14
vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go
generated
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build go1.11
|
||||
// +build go1.11
|
||||
|
||||
package gcimporter
|
||||
|
||||
import "go/types"
|
||||
|
||||
func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
|
||||
return types.NewInterfaceType(methods, embeddeds)
|
||||
}
|
||||
49
vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go
generated
vendored
Normal file
49
vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go
generated
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package packagesdriver fetches type sizes for go/packages and go/analysis.
|
||||
package packagesdriver
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"go/types"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/tools/internal/gocommand"
|
||||
)
|
||||
|
||||
var debug = false
|
||||
|
||||
func GetSizesGolist(ctx context.Context, inv gocommand.Invocation, gocmdRunner *gocommand.Runner) (types.Sizes, error) {
|
||||
inv.Verb = "list"
|
||||
inv.Args = []string{"-f", "{{context.GOARCH}} {{context.Compiler}}", "--", "unsafe"}
|
||||
stdout, stderr, friendlyErr, rawErr := gocmdRunner.RunRaw(ctx, inv)
|
||||
var goarch, compiler string
|
||||
if rawErr != nil {
|
||||
if rawErrMsg := rawErr.Error(); strings.Contains(rawErrMsg, "cannot find main module") || strings.Contains(rawErrMsg, "go.mod file not found") {
|
||||
// User's running outside of a module. All bets are off. Get GOARCH and guess compiler is gc.
|
||||
// TODO(matloob): Is this a problem in practice?
|
||||
inv.Verb = "env"
|
||||
inv.Args = []string{"GOARCH"}
|
||||
envout, enverr := gocmdRunner.Run(ctx, inv)
|
||||
if enverr != nil {
|
||||
return nil, enverr
|
||||
}
|
||||
goarch = strings.TrimSpace(envout.String())
|
||||
compiler = "gc"
|
||||
} else {
|
||||
return nil, friendlyErr
|
||||
}
|
||||
} else {
|
||||
fields := strings.Fields(stdout.String())
|
||||
if len(fields) < 2 {
|
||||
return nil, fmt.Errorf("could not parse GOARCH and Go compiler in format \"<GOARCH> <compiler>\":\nstdout: <<%s>>\nstderr: <<%s>>",
|
||||
stdout.String(), stderr.String())
|
||||
}
|
||||
goarch = fields[0]
|
||||
compiler = fields[1]
|
||||
}
|
||||
return types.SizesFor(compiler, goarch), nil
|
||||
}
|
||||
221
vendor/golang.org/x/tools/go/packages/doc.go
generated
vendored
Normal file
221
vendor/golang.org/x/tools/go/packages/doc.go
generated
vendored
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
/*
|
||||
Package packages loads Go packages for inspection and analysis.
|
||||
|
||||
The Load function takes as input a list of patterns and return a list of Package
|
||||
structs describing individual packages matched by those patterns.
|
||||
The LoadMode controls the amount of detail in the loaded packages.
|
||||
|
||||
Load passes most patterns directly to the underlying build tool,
|
||||
but all patterns with the prefix "query=", where query is a
|
||||
non-empty string of letters from [a-z], are reserved and may be
|
||||
interpreted as query operators.
|
||||
|
||||
Two query operators are currently supported: "file" and "pattern".
|
||||
|
||||
The query "file=path/to/file.go" matches the package or packages enclosing
|
||||
the Go source file path/to/file.go. For example "file=~/go/src/fmt/print.go"
|
||||
might return the packages "fmt" and "fmt [fmt.test]".
|
||||
|
||||
The query "pattern=string" causes "string" to be passed directly to
|
||||
the underlying build tool. In most cases this is unnecessary,
|
||||
but an application can use Load("pattern=" + x) as an escaping mechanism
|
||||
to ensure that x is not interpreted as a query operator if it contains '='.
|
||||
|
||||
All other query operators are reserved for future use and currently
|
||||
cause Load to report an error.
|
||||
|
||||
The Package struct provides basic information about the package, including
|
||||
|
||||
- ID, a unique identifier for the package in the returned set;
|
||||
- GoFiles, the names of the package's Go source files;
|
||||
- Imports, a map from source import strings to the Packages they name;
|
||||
- Types, the type information for the package's exported symbols;
|
||||
- Syntax, the parsed syntax trees for the package's source code; and
|
||||
- TypeInfo, the result of a complete type-check of the package syntax trees.
|
||||
|
||||
(See the documentation for type Package for the complete list of fields
|
||||
and more detailed descriptions.)
|
||||
|
||||
For example,
|
||||
|
||||
Load(nil, "bytes", "unicode...")
|
||||
|
||||
returns four Package structs describing the standard library packages
|
||||
bytes, unicode, unicode/utf16, and unicode/utf8. Note that one pattern
|
||||
can match multiple packages and that a package might be matched by
|
||||
multiple patterns: in general it is not possible to determine which
|
||||
packages correspond to which patterns.
|
||||
|
||||
Note that the list returned by Load contains only the packages matched
|
||||
by the patterns. Their dependencies can be found by walking the import
|
||||
graph using the Imports fields.
|
||||
|
||||
The Load function can be configured by passing a pointer to a Config as
|
||||
the first argument. A nil Config is equivalent to the zero Config, which
|
||||
causes Load to run in LoadFiles mode, collecting minimal information.
|
||||
See the documentation for type Config for details.
|
||||
|
||||
As noted earlier, the Config.Mode controls the amount of detail
|
||||
reported about the loaded packages. See the documentation for type LoadMode
|
||||
for details.
|
||||
|
||||
Most tools should pass their command-line arguments (after any flags)
|
||||
uninterpreted to the loader, so that the loader can interpret them
|
||||
according to the conventions of the underlying build system.
|
||||
See the Example function for typical usage.
|
||||
|
||||
*/
|
||||
package packages // import "golang.org/x/tools/go/packages"
|
||||
|
||||
/*
|
||||
|
||||
Motivation and design considerations
|
||||
|
||||
The new package's design solves problems addressed by two existing
|
||||
packages: go/build, which locates and describes packages, and
|
||||
golang.org/x/tools/go/loader, which loads, parses and type-checks them.
|
||||
The go/build.Package structure encodes too much of the 'go build' way
|
||||
of organizing projects, leaving us in need of a data type that describes a
|
||||
package of Go source code independent of the underlying build system.
|
||||
We wanted something that works equally well with go build and vgo, and
|
||||
also other build systems such as Bazel and Blaze, making it possible to
|
||||
construct analysis tools that work in all these environments.
|
||||
Tools such as errcheck and staticcheck were essentially unavailable to
|
||||
the Go community at Google, and some of Google's internal tools for Go
|
||||
are unavailable externally.
|
||||
This new package provides a uniform way to obtain package metadata by
|
||||
querying each of these build systems, optionally supporting their
|
||||
preferred command-line notations for packages, so that tools integrate
|
||||
neatly with users' build environments. The Metadata query function
|
||||
executes an external query tool appropriate to the current workspace.
|
||||
|
||||
Loading packages always returns the complete import graph "all the way down",
|
||||
even if all you want is information about a single package, because the query
|
||||
mechanisms of all the build systems we currently support ({go,vgo} list, and
|
||||
blaze/bazel aspect-based query) cannot provide detailed information
|
||||
about one package without visiting all its dependencies too, so there is
|
||||
no additional asymptotic cost to providing transitive information.
|
||||
(This property might not be true of a hypothetical 5th build system.)
|
||||
|
||||
In calls to TypeCheck, all initial packages, and any package that
|
||||
transitively depends on one of them, must be loaded from source.
|
||||
Consider A->B->C->D->E: if A,C are initial, A,B,C must be loaded from
|
||||
source; D may be loaded from export data, and E may not be loaded at all
|
||||
(though it's possible that D's export data mentions it, so a
|
||||
types.Package may be created for it and exposed.)
|
||||
|
||||
The old loader had a feature to suppress type-checking of function
|
||||
bodies on a per-package basis, primarily intended to reduce the work of
|
||||
obtaining type information for imported packages. Now that imports are
|
||||
satisfied by export data, the optimization no longer seems necessary.
|
||||
|
||||
Despite some early attempts, the old loader did not exploit export data,
|
||||
instead always using the equivalent of WholeProgram mode. This was due
|
||||
to the complexity of mixing source and export data packages (now
|
||||
resolved by the upward traversal mentioned above), and because export data
|
||||
files were nearly always missing or stale. Now that 'go build' supports
|
||||
caching, all the underlying build systems can guarantee to produce
|
||||
export data in a reasonable (amortized) time.
|
||||
|
||||
Test "main" packages synthesized by the build system are now reported as
|
||||
first-class packages, avoiding the need for clients (such as go/ssa) to
|
||||
reinvent this generation logic.
|
||||
|
||||
One way in which go/packages is simpler than the old loader is in its
|
||||
treatment of in-package tests. In-package tests are packages that
|
||||
consist of all the files of the library under test, plus the test files.
|
||||
The old loader constructed in-package tests by a two-phase process of
|
||||
mutation called "augmentation": first it would construct and type check
|
||||
all the ordinary library packages and type-check the packages that
|
||||
depend on them; then it would add more (test) files to the package and
|
||||
type-check again. This two-phase approach had four major problems:
|
||||
1) in processing the tests, the loader modified the library package,
|
||||
leaving no way for a client application to see both the test
|
||||
package and the library package; one would mutate into the other.
|
||||
2) because test files can declare additional methods on types defined in
|
||||
the library portion of the package, the dispatch of method calls in
|
||||
the library portion was affected by the presence of the test files.
|
||||
This should have been a clue that the packages were logically
|
||||
different.
|
||||
3) this model of "augmentation" assumed at most one in-package test
|
||||
per library package, which is true of projects using 'go build',
|
||||
but not other build systems.
|
||||
4) because of the two-phase nature of test processing, all packages that
|
||||
import the library package had to be processed before augmentation,
|
||||
forcing a "one-shot" API and preventing the client from calling Load
|
||||
in several times in sequence as is now possible in WholeProgram mode.
|
||||
(TypeCheck mode has a similar one-shot restriction for a different reason.)
|
||||
|
||||
Early drafts of this package supported "multi-shot" operation.
|
||||
Although it allowed clients to make a sequence of calls (or concurrent
|
||||
calls) to Load, building up the graph of Packages incrementally,
|
||||
it was of marginal value: it complicated the API
|
||||
(since it allowed some options to vary across calls but not others),
|
||||
it complicated the implementation,
|
||||
it cannot be made to work in Types mode, as explained above,
|
||||
and it was less efficient than making one combined call (when this is possible).
|
||||
Among the clients we have inspected, none made multiple calls to load
|
||||
but could not be easily and satisfactorily modified to make only a single call.
|
||||
However, applications changes may be required.
|
||||
For example, the ssadump command loads the user-specified packages
|
||||
and in addition the runtime package. It is tempting to simply append
|
||||
"runtime" to the user-provided list, but that does not work if the user
|
||||
specified an ad-hoc package such as [a.go b.go].
|
||||
Instead, ssadump no longer requests the runtime package,
|
||||
but seeks it among the dependencies of the user-specified packages,
|
||||
and emits an error if it is not found.
|
||||
|
||||
Overlays: The Overlay field in the Config allows providing alternate contents
|
||||
for Go source files, by providing a mapping from file path to contents.
|
||||
go/packages will pull in new imports added in overlay files when go/packages
|
||||
is run in LoadImports mode or greater.
|
||||
Overlay support for the go list driver isn't complete yet: if the file doesn't
|
||||
exist on disk, it will only be recognized in an overlay if it is a non-test file
|
||||
and the package would be reported even without the overlay.
|
||||
|
||||
Questions & Tasks
|
||||
|
||||
- Add GOARCH/GOOS?
|
||||
They are not portable concepts, but could be made portable.
|
||||
Our goal has been to allow users to express themselves using the conventions
|
||||
of the underlying build system: if the build system honors GOARCH
|
||||
during a build and during a metadata query, then so should
|
||||
applications built atop that query mechanism.
|
||||
Conversely, if the target architecture of the build is determined by
|
||||
command-line flags, the application can pass the relevant
|
||||
flags through to the build system using a command such as:
|
||||
myapp -query_flag="--cpu=amd64" -query_flag="--os=darwin"
|
||||
However, this approach is low-level, unwieldy, and non-portable.
|
||||
GOOS and GOARCH seem important enough to warrant a dedicated option.
|
||||
|
||||
- How should we handle partial failures such as a mixture of good and
|
||||
malformed patterns, existing and non-existent packages, successful and
|
||||
failed builds, import failures, import cycles, and so on, in a call to
|
||||
Load?
|
||||
|
||||
- Support bazel, blaze, and go1.10 list, not just go1.11 list.
|
||||
|
||||
- Handle (and test) various partial success cases, e.g.
|
||||
a mixture of good packages and:
|
||||
invalid patterns
|
||||
nonexistent packages
|
||||
empty packages
|
||||
packages with malformed package or import declarations
|
||||
unreadable files
|
||||
import cycles
|
||||
other parse errors
|
||||
type errors
|
||||
Make sure we record errors at the correct place in the graph.
|
||||
|
||||
- Missing packages among initial arguments are not reported.
|
||||
Return bogus packages for them, like golist does.
|
||||
|
||||
- "undeclared name" errors (for example) are reported out of source file
|
||||
order. I suspect this is due to the breadth-first resolution now used
|
||||
by go/types. Is that a bug? Discuss with gri.
|
||||
|
||||
*/
|
||||
101
vendor/golang.org/x/tools/go/packages/external.go
generated
vendored
Normal file
101
vendor/golang.org/x/tools/go/packages/external.go
generated
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// This file enables an external tool to intercept package requests.
|
||||
// If the tool is present then its results are used in preference to
|
||||
// the go list command.
|
||||
|
||||
package packages
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
exec "golang.org/x/sys/execabs"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// The Driver Protocol
|
||||
//
|
||||
// The driver, given the inputs to a call to Load, returns metadata about the packages specified.
|
||||
// This allows for different build systems to support go/packages by telling go/packages how the
|
||||
// packages' source is organized.
|
||||
// The driver is a binary, either specified by the GOPACKAGESDRIVER environment variable or in
|
||||
// the path as gopackagesdriver. It's given the inputs to load in its argv. See the package
|
||||
// documentation in doc.go for the full description of the patterns that need to be supported.
|
||||
// A driver receives as a JSON-serialized driverRequest struct in standard input and will
|
||||
// produce a JSON-serialized driverResponse (see definition in packages.go) in its standard output.
|
||||
|
||||
// driverRequest is used to provide the portion of Load's Config that is needed by a driver.
|
||||
type driverRequest struct {
|
||||
Mode LoadMode `json:"mode"`
|
||||
// Env specifies the environment the underlying build system should be run in.
|
||||
Env []string `json:"env"`
|
||||
// BuildFlags are flags that should be passed to the underlying build system.
|
||||
BuildFlags []string `json:"build_flags"`
|
||||
// Tests specifies whether the patterns should also return test packages.
|
||||
Tests bool `json:"tests"`
|
||||
// Overlay maps file paths (relative to the driver's working directory) to the byte contents
|
||||
// of overlay files.
|
||||
Overlay map[string][]byte `json:"overlay"`
|
||||
}
|
||||
|
||||
// findExternalDriver returns the file path of a tool that supplies
|
||||
// the build system package structure, or "" if not found."
|
||||
// If GOPACKAGESDRIVER is set in the environment findExternalTool returns its
|
||||
// value, otherwise it searches for a binary named gopackagesdriver on the PATH.
|
||||
func findExternalDriver(cfg *Config) driver {
|
||||
const toolPrefix = "GOPACKAGESDRIVER="
|
||||
tool := ""
|
||||
for _, env := range cfg.Env {
|
||||
if val := strings.TrimPrefix(env, toolPrefix); val != env {
|
||||
tool = val
|
||||
}
|
||||
}
|
||||
if tool != "" && tool == "off" {
|
||||
return nil
|
||||
}
|
||||
if tool == "" {
|
||||
var err error
|
||||
tool, err = exec.LookPath("gopackagesdriver")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return func(cfg *Config, words ...string) (*driverResponse, error) {
|
||||
req, err := json.Marshal(driverRequest{
|
||||
Mode: cfg.Mode,
|
||||
Env: cfg.Env,
|
||||
BuildFlags: cfg.BuildFlags,
|
||||
Tests: cfg.Tests,
|
||||
Overlay: cfg.Overlay,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to encode message to driver tool: %v", err)
|
||||
}
|
||||
|
||||
buf := new(bytes.Buffer)
|
||||
stderr := new(bytes.Buffer)
|
||||
cmd := exec.CommandContext(cfg.Context, tool, words...)
|
||||
cmd.Dir = cfg.Dir
|
||||
cmd.Env = cfg.Env
|
||||
cmd.Stdin = bytes.NewReader(req)
|
||||
cmd.Stdout = buf
|
||||
cmd.Stderr = stderr
|
||||
|
||||
if err := cmd.Run(); err != nil {
|
||||
return nil, fmt.Errorf("%v: %v: %s", tool, err, cmd.Stderr)
|
||||
}
|
||||
if len(stderr.Bytes()) != 0 && os.Getenv("GOPACKAGESPRINTDRIVERERRORS") != "" {
|
||||
fmt.Fprintf(os.Stderr, "%s stderr: <<%s>>\n", cmdDebugStr(cmd), stderr)
|
||||
}
|
||||
|
||||
var response driverResponse
|
||||
if err := json.Unmarshal(buf.Bytes(), &response); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &response, nil
|
||||
}
|
||||
}
|
||||
1099
vendor/golang.org/x/tools/go/packages/golist.go
generated
vendored
Normal file
1099
vendor/golang.org/x/tools/go/packages/golist.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
575
vendor/golang.org/x/tools/go/packages/golist_overlay.go
generated
vendored
Normal file
575
vendor/golang.org/x/tools/go/packages/golist_overlay.go
generated
vendored
Normal file
|
|
@ -0,0 +1,575 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package packages
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/tools/internal/gocommand"
|
||||
)
|
||||
|
||||
// processGolistOverlay provides rudimentary support for adding
|
||||
// files that don't exist on disk to an overlay. The results can be
|
||||
// sometimes incorrect.
|
||||
// TODO(matloob): Handle unsupported cases, including the following:
|
||||
// - determining the correct package to add given a new import path
|
||||
func (state *golistState) processGolistOverlay(response *responseDeduper) (modifiedPkgs, needPkgs []string, err error) {
|
||||
havePkgs := make(map[string]string) // importPath -> non-test package ID
|
||||
needPkgsSet := make(map[string]bool)
|
||||
modifiedPkgsSet := make(map[string]bool)
|
||||
|
||||
pkgOfDir := make(map[string][]*Package)
|
||||
for _, pkg := range response.dr.Packages {
|
||||
// This is an approximation of import path to id. This can be
|
||||
// wrong for tests, vendored packages, and a number of other cases.
|
||||
havePkgs[pkg.PkgPath] = pkg.ID
|
||||
dir, err := commonDir(pkg.GoFiles)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
if dir != "" {
|
||||
pkgOfDir[dir] = append(pkgOfDir[dir], pkg)
|
||||
}
|
||||
}
|
||||
|
||||
// If no new imports are added, it is safe to avoid loading any needPkgs.
|
||||
// Otherwise, it's hard to tell which package is actually being loaded
|
||||
// (due to vendoring) and whether any modified package will show up
|
||||
// in the transitive set of dependencies (because new imports are added,
|
||||
// potentially modifying the transitive set of dependencies).
|
||||
var overlayAddsImports bool
|
||||
|
||||
// If both a package and its test package are created by the overlay, we
|
||||
// need the real package first. Process all non-test files before test
|
||||
// files, and make the whole process deterministic while we're at it.
|
||||
var overlayFiles []string
|
||||
for opath := range state.cfg.Overlay {
|
||||
overlayFiles = append(overlayFiles, opath)
|
||||
}
|
||||
sort.Slice(overlayFiles, func(i, j int) bool {
|
||||
iTest := strings.HasSuffix(overlayFiles[i], "_test.go")
|
||||
jTest := strings.HasSuffix(overlayFiles[j], "_test.go")
|
||||
if iTest != jTest {
|
||||
return !iTest // non-tests are before tests.
|
||||
}
|
||||
return overlayFiles[i] < overlayFiles[j]
|
||||
})
|
||||
for _, opath := range overlayFiles {
|
||||
contents := state.cfg.Overlay[opath]
|
||||
base := filepath.Base(opath)
|
||||
dir := filepath.Dir(opath)
|
||||
var pkg *Package // if opath belongs to both a package and its test variant, this will be the test variant
|
||||
var testVariantOf *Package // if opath is a test file, this is the package it is testing
|
||||
var fileExists bool
|
||||
isTestFile := strings.HasSuffix(opath, "_test.go")
|
||||
pkgName, ok := extractPackageName(opath, contents)
|
||||
if !ok {
|
||||
// Don't bother adding a file that doesn't even have a parsable package statement
|
||||
// to the overlay.
|
||||
continue
|
||||
}
|
||||
// If all the overlay files belong to a different package, change the
|
||||
// package name to that package.
|
||||
maybeFixPackageName(pkgName, isTestFile, pkgOfDir[dir])
|
||||
nextPackage:
|
||||
for _, p := range response.dr.Packages {
|
||||
if pkgName != p.Name && p.ID != "command-line-arguments" {
|
||||
continue
|
||||
}
|
||||
for _, f := range p.GoFiles {
|
||||
if !sameFile(filepath.Dir(f), dir) {
|
||||
continue
|
||||
}
|
||||
// Make sure to capture information on the package's test variant, if needed.
|
||||
if isTestFile && !hasTestFiles(p) {
|
||||
// TODO(matloob): Are there packages other than the 'production' variant
|
||||
// of a package that this can match? This shouldn't match the test main package
|
||||
// because the file is generated in another directory.
|
||||
testVariantOf = p
|
||||
continue nextPackage
|
||||
} else if !isTestFile && hasTestFiles(p) {
|
||||
// We're examining a test variant, but the overlaid file is
|
||||
// a non-test file. Because the overlay implementation
|
||||
// (currently) only adds a file to one package, skip this
|
||||
// package, so that we can add the file to the production
|
||||
// variant of the package. (https://golang.org/issue/36857
|
||||
// tracks handling overlays on both the production and test
|
||||
// variant of a package).
|
||||
continue nextPackage
|
||||
}
|
||||
if pkg != nil && p != pkg && pkg.PkgPath == p.PkgPath {
|
||||
// We have already seen the production version of the
|
||||
// for which p is a test variant.
|
||||
if hasTestFiles(p) {
|
||||
testVariantOf = pkg
|
||||
}
|
||||
}
|
||||
pkg = p
|
||||
if filepath.Base(f) == base {
|
||||
fileExists = true
|
||||
}
|
||||
}
|
||||
}
|
||||
// The overlay could have included an entirely new package or an
|
||||
// ad-hoc package. An ad-hoc package is one that we have manually
|
||||
// constructed from inadequate `go list` results for a file= query.
|
||||
// It will have the ID command-line-arguments.
|
||||
if pkg == nil || pkg.ID == "command-line-arguments" {
|
||||
// Try to find the module or gopath dir the file is contained in.
|
||||
// Then for modules, add the module opath to the beginning.
|
||||
pkgPath, ok, err := state.getPkgPath(dir)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
var forTest string // only set for x tests
|
||||
isXTest := strings.HasSuffix(pkgName, "_test")
|
||||
if isXTest {
|
||||
forTest = pkgPath
|
||||
pkgPath += "_test"
|
||||
}
|
||||
id := pkgPath
|
||||
if isTestFile {
|
||||
if isXTest {
|
||||
id = fmt.Sprintf("%s [%s.test]", pkgPath, forTest)
|
||||
} else {
|
||||
id = fmt.Sprintf("%s [%s.test]", pkgPath, pkgPath)
|
||||
}
|
||||
}
|
||||
if pkg != nil {
|
||||
// TODO(rstambler): We should change the package's path and ID
|
||||
// here. The only issue is that this messes with the roots.
|
||||
} else {
|
||||
// Try to reclaim a package with the same ID, if it exists in the response.
|
||||
for _, p := range response.dr.Packages {
|
||||
if reclaimPackage(p, id, opath, contents) {
|
||||
pkg = p
|
||||
break
|
||||
}
|
||||
}
|
||||
// Otherwise, create a new package.
|
||||
if pkg == nil {
|
||||
pkg = &Package{
|
||||
PkgPath: pkgPath,
|
||||
ID: id,
|
||||
Name: pkgName,
|
||||
Imports: make(map[string]*Package),
|
||||
}
|
||||
response.addPackage(pkg)
|
||||
havePkgs[pkg.PkgPath] = id
|
||||
// Add the production package's sources for a test variant.
|
||||
if isTestFile && !isXTest && testVariantOf != nil {
|
||||
pkg.GoFiles = append(pkg.GoFiles, testVariantOf.GoFiles...)
|
||||
pkg.CompiledGoFiles = append(pkg.CompiledGoFiles, testVariantOf.CompiledGoFiles...)
|
||||
// Add the package under test and its imports to the test variant.
|
||||
pkg.forTest = testVariantOf.PkgPath
|
||||
for k, v := range testVariantOf.Imports {
|
||||
pkg.Imports[k] = &Package{ID: v.ID}
|
||||
}
|
||||
}
|
||||
if isXTest {
|
||||
pkg.forTest = forTest
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if !fileExists {
|
||||
pkg.GoFiles = append(pkg.GoFiles, opath)
|
||||
// TODO(matloob): Adding the file to CompiledGoFiles can exhibit the wrong behavior
|
||||
// if the file will be ignored due to its build tags.
|
||||
pkg.CompiledGoFiles = append(pkg.CompiledGoFiles, opath)
|
||||
modifiedPkgsSet[pkg.ID] = true
|
||||
}
|
||||
imports, err := extractImports(opath, contents)
|
||||
if err != nil {
|
||||
// Let the parser or type checker report errors later.
|
||||
continue
|
||||
}
|
||||
for _, imp := range imports {
|
||||
// TODO(rstambler): If the package is an x test and the import has
|
||||
// a test variant, make sure to replace it.
|
||||
if _, found := pkg.Imports[imp]; found {
|
||||
continue
|
||||
}
|
||||
overlayAddsImports = true
|
||||
id, ok := havePkgs[imp]
|
||||
if !ok {
|
||||
var err error
|
||||
id, err = state.resolveImport(dir, imp)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
}
|
||||
pkg.Imports[imp] = &Package{ID: id}
|
||||
// Add dependencies to the non-test variant version of this package as well.
|
||||
if testVariantOf != nil {
|
||||
testVariantOf.Imports[imp] = &Package{ID: id}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// toPkgPath guesses the package path given the id.
|
||||
toPkgPath := func(sourceDir, id string) (string, error) {
|
||||
if i := strings.IndexByte(id, ' '); i >= 0 {
|
||||
return state.resolveImport(sourceDir, id[:i])
|
||||
}
|
||||
return state.resolveImport(sourceDir, id)
|
||||
}
|
||||
|
||||
// Now that new packages have been created, do another pass to determine
|
||||
// the new set of missing packages.
|
||||
for _, pkg := range response.dr.Packages {
|
||||
for _, imp := range pkg.Imports {
|
||||
if len(pkg.GoFiles) == 0 {
|
||||
return nil, nil, fmt.Errorf("cannot resolve imports for package %q with no Go files", pkg.PkgPath)
|
||||
}
|
||||
pkgPath, err := toPkgPath(filepath.Dir(pkg.GoFiles[0]), imp.ID)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
if _, ok := havePkgs[pkgPath]; !ok {
|
||||
needPkgsSet[pkgPath] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if overlayAddsImports {
|
||||
needPkgs = make([]string, 0, len(needPkgsSet))
|
||||
for pkg := range needPkgsSet {
|
||||
needPkgs = append(needPkgs, pkg)
|
||||
}
|
||||
}
|
||||
modifiedPkgs = make([]string, 0, len(modifiedPkgsSet))
|
||||
for pkg := range modifiedPkgsSet {
|
||||
modifiedPkgs = append(modifiedPkgs, pkg)
|
||||
}
|
||||
return modifiedPkgs, needPkgs, err
|
||||
}
|
||||
|
||||
// resolveImport finds the ID of a package given its import path.
|
||||
// In particular, it will find the right vendored copy when in GOPATH mode.
|
||||
func (state *golistState) resolveImport(sourceDir, importPath string) (string, error) {
|
||||
env, err := state.getEnv()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if env["GOMOD"] != "" {
|
||||
return importPath, nil
|
||||
}
|
||||
|
||||
searchDir := sourceDir
|
||||
for {
|
||||
vendorDir := filepath.Join(searchDir, "vendor")
|
||||
exists, ok := state.vendorDirs[vendorDir]
|
||||
if !ok {
|
||||
info, err := os.Stat(vendorDir)
|
||||
exists = err == nil && info.IsDir()
|
||||
state.vendorDirs[vendorDir] = exists
|
||||
}
|
||||
|
||||
if exists {
|
||||
vendoredPath := filepath.Join(vendorDir, importPath)
|
||||
if info, err := os.Stat(vendoredPath); err == nil && info.IsDir() {
|
||||
// We should probably check for .go files here, but shame on anyone who fools us.
|
||||
path, ok, err := state.getPkgPath(vendoredPath)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if ok {
|
||||
return path, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// We know we've hit the top of the filesystem when we Dir / and get /,
|
||||
// or C:\ and get C:\, etc.
|
||||
next := filepath.Dir(searchDir)
|
||||
if next == searchDir {
|
||||
break
|
||||
}
|
||||
searchDir = next
|
||||
}
|
||||
return importPath, nil
|
||||
}
|
||||
|
||||
func hasTestFiles(p *Package) bool {
|
||||
for _, f := range p.GoFiles {
|
||||
if strings.HasSuffix(f, "_test.go") {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// determineRootDirs returns a mapping from absolute directories that could
|
||||
// contain code to their corresponding import path prefixes.
|
||||
func (state *golistState) determineRootDirs() (map[string]string, error) {
|
||||
env, err := state.getEnv()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if env["GOMOD"] != "" {
|
||||
state.rootsOnce.Do(func() {
|
||||
state.rootDirs, state.rootDirsError = state.determineRootDirsModules()
|
||||
})
|
||||
} else {
|
||||
state.rootsOnce.Do(func() {
|
||||
state.rootDirs, state.rootDirsError = state.determineRootDirsGOPATH()
|
||||
})
|
||||
}
|
||||
return state.rootDirs, state.rootDirsError
|
||||
}
|
||||
|
||||
func (state *golistState) determineRootDirsModules() (map[string]string, error) {
|
||||
// List all of the modules--the first will be the directory for the main
|
||||
// module. Any replaced modules will also need to be treated as roots.
|
||||
// Editing files in the module cache isn't a great idea, so we don't
|
||||
// plan to ever support that.
|
||||
out, err := state.invokeGo("list", "-m", "-json", "all")
|
||||
if err != nil {
|
||||
// 'go list all' will fail if we're outside of a module and
|
||||
// GO111MODULE=on. Try falling back without 'all'.
|
||||
var innerErr error
|
||||
out, innerErr = state.invokeGo("list", "-m", "-json")
|
||||
if innerErr != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
roots := map[string]string{}
|
||||
modules := map[string]string{}
|
||||
var i int
|
||||
for dec := json.NewDecoder(out); dec.More(); {
|
||||
mod := new(gocommand.ModuleJSON)
|
||||
if err := dec.Decode(mod); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if mod.Dir != "" && mod.Path != "" {
|
||||
// This is a valid module; add it to the map.
|
||||
absDir, err := filepath.Abs(mod.Dir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
modules[absDir] = mod.Path
|
||||
// The first result is the main module.
|
||||
if i == 0 || mod.Replace != nil && mod.Replace.Path != "" {
|
||||
roots[absDir] = mod.Path
|
||||
}
|
||||
}
|
||||
i++
|
||||
}
|
||||
return roots, nil
|
||||
}
|
||||
|
||||
func (state *golistState) determineRootDirsGOPATH() (map[string]string, error) {
|
||||
m := map[string]string{}
|
||||
for _, dir := range filepath.SplitList(state.mustGetEnv()["GOPATH"]) {
|
||||
absDir, err := filepath.Abs(dir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
m[filepath.Join(absDir, "src")] = ""
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func extractImports(filename string, contents []byte) ([]string, error) {
|
||||
f, err := parser.ParseFile(token.NewFileSet(), filename, contents, parser.ImportsOnly) // TODO(matloob): reuse fileset?
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var res []string
|
||||
for _, imp := range f.Imports {
|
||||
quotedPath := imp.Path.Value
|
||||
path, err := strconv.Unquote(quotedPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res = append(res, path)
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
// reclaimPackage attempts to reuse a package that failed to load in an overlay.
|
||||
//
|
||||
// If the package has errors and has no Name, GoFiles, or Imports,
|
||||
// then it's possible that it doesn't yet exist on disk.
|
||||
func reclaimPackage(pkg *Package, id string, filename string, contents []byte) bool {
|
||||
// TODO(rstambler): Check the message of the actual error?
|
||||
// It differs between $GOPATH and module mode.
|
||||
if pkg.ID != id {
|
||||
return false
|
||||
}
|
||||
if len(pkg.Errors) != 1 {
|
||||
return false
|
||||
}
|
||||
if pkg.Name != "" || pkg.ExportFile != "" {
|
||||
return false
|
||||
}
|
||||
if len(pkg.GoFiles) > 0 || len(pkg.CompiledGoFiles) > 0 || len(pkg.OtherFiles) > 0 {
|
||||
return false
|
||||
}
|
||||
if len(pkg.Imports) > 0 {
|
||||
return false
|
||||
}
|
||||
pkgName, ok := extractPackageName(filename, contents)
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
pkg.Name = pkgName
|
||||
pkg.Errors = nil
|
||||
return true
|
||||
}
|
||||
|
||||
func extractPackageName(filename string, contents []byte) (string, bool) {
|
||||
// TODO(rstambler): Check the message of the actual error?
|
||||
// It differs between $GOPATH and module mode.
|
||||
f, err := parser.ParseFile(token.NewFileSet(), filename, contents, parser.PackageClauseOnly) // TODO(matloob): reuse fileset?
|
||||
if err != nil {
|
||||
return "", false
|
||||
}
|
||||
return f.Name.Name, true
|
||||
}
|
||||
|
||||
// commonDir returns the directory that all files are in, "" if files is empty,
|
||||
// or an error if they aren't in the same directory.
|
||||
func commonDir(files []string) (string, error) {
|
||||
seen := make(map[string]bool)
|
||||
for _, f := range files {
|
||||
seen[filepath.Dir(f)] = true
|
||||
}
|
||||
if len(seen) > 1 {
|
||||
return "", fmt.Errorf("files (%v) are in more than one directory: %v", files, seen)
|
||||
}
|
||||
for k := range seen {
|
||||
// seen has only one element; return it.
|
||||
return k, nil
|
||||
}
|
||||
return "", nil // no files
|
||||
}
|
||||
|
||||
// It is possible that the files in the disk directory dir have a different package
|
||||
// name from newName, which is deduced from the overlays. If they all have a different
|
||||
// package name, and they all have the same package name, then that name becomes
|
||||
// the package name.
|
||||
// It returns true if it changes the package name, false otherwise.
|
||||
func maybeFixPackageName(newName string, isTestFile bool, pkgsOfDir []*Package) {
|
||||
names := make(map[string]int)
|
||||
for _, p := range pkgsOfDir {
|
||||
names[p.Name]++
|
||||
}
|
||||
if len(names) != 1 {
|
||||
// some files are in different packages
|
||||
return
|
||||
}
|
||||
var oldName string
|
||||
for k := range names {
|
||||
oldName = k
|
||||
}
|
||||
if newName == oldName {
|
||||
return
|
||||
}
|
||||
// We might have a case where all of the package names in the directory are
|
||||
// the same, but the overlay file is for an x test, which belongs to its
|
||||
// own package. If the x test does not yet exist on disk, we may not yet
|
||||
// have its package name on disk, but we should not rename the packages.
|
||||
//
|
||||
// We use a heuristic to determine if this file belongs to an x test:
|
||||
// The test file should have a package name whose package name has a _test
|
||||
// suffix or looks like "newName_test".
|
||||
maybeXTest := strings.HasPrefix(oldName+"_test", newName) || strings.HasSuffix(newName, "_test")
|
||||
if isTestFile && maybeXTest {
|
||||
return
|
||||
}
|
||||
for _, p := range pkgsOfDir {
|
||||
p.Name = newName
|
||||
}
|
||||
}
|
||||
|
||||
// This function is copy-pasted from
|
||||
// https://github.com/golang/go/blob/9706f510a5e2754595d716bd64be8375997311fb/src/cmd/go/internal/search/search.go#L360.
|
||||
// It should be deleted when we remove support for overlays from go/packages.
|
||||
//
|
||||
// NOTE: This does not handle any ./... or ./ style queries, as this function
|
||||
// doesn't know the working directory.
|
||||
//
|
||||
// matchPattern(pattern)(name) reports whether
|
||||
// name matches pattern. Pattern is a limited glob
|
||||
// pattern in which '...' means 'any string' and there
|
||||
// is no other special syntax.
|
||||
// Unfortunately, there are two special cases. Quoting "go help packages":
|
||||
//
|
||||
// First, /... at the end of the pattern can match an empty string,
|
||||
// so that net/... matches both net and packages in its subdirectories, like net/http.
|
||||
// Second, any slash-separated pattern element containing a wildcard never
|
||||
// participates in a match of the "vendor" element in the path of a vendored
|
||||
// package, so that ./... does not match packages in subdirectories of
|
||||
// ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do.
|
||||
// Note, however, that a directory named vendor that itself contains code
|
||||
// is not a vendored package: cmd/vendor would be a command named vendor,
|
||||
// and the pattern cmd/... matches it.
|
||||
func matchPattern(pattern string) func(name string) bool {
|
||||
// Convert pattern to regular expression.
|
||||
// The strategy for the trailing /... is to nest it in an explicit ? expression.
|
||||
// The strategy for the vendor exclusion is to change the unmatchable
|
||||
// vendor strings to a disallowed code point (vendorChar) and to use
|
||||
// "(anything but that codepoint)*" as the implementation of the ... wildcard.
|
||||
// This is a bit complicated but the obvious alternative,
|
||||
// namely a hand-written search like in most shell glob matchers,
|
||||
// is too easy to make accidentally exponential.
|
||||
// Using package regexp guarantees linear-time matching.
|
||||
|
||||
const vendorChar = "\x00"
|
||||
|
||||
if strings.Contains(pattern, vendorChar) {
|
||||
return func(name string) bool { return false }
|
||||
}
|
||||
|
||||
re := regexp.QuoteMeta(pattern)
|
||||
re = replaceVendor(re, vendorChar)
|
||||
switch {
|
||||
case strings.HasSuffix(re, `/`+vendorChar+`/\.\.\.`):
|
||||
re = strings.TrimSuffix(re, `/`+vendorChar+`/\.\.\.`) + `(/vendor|/` + vendorChar + `/\.\.\.)`
|
||||
case re == vendorChar+`/\.\.\.`:
|
||||
re = `(/vendor|/` + vendorChar + `/\.\.\.)`
|
||||
case strings.HasSuffix(re, `/\.\.\.`):
|
||||
re = strings.TrimSuffix(re, `/\.\.\.`) + `(/\.\.\.)?`
|
||||
}
|
||||
re = strings.ReplaceAll(re, `\.\.\.`, `[^`+vendorChar+`]*`)
|
||||
|
||||
reg := regexp.MustCompile(`^` + re + `$`)
|
||||
|
||||
return func(name string) bool {
|
||||
if strings.Contains(name, vendorChar) {
|
||||
return false
|
||||
}
|
||||
return reg.MatchString(replaceVendor(name, vendorChar))
|
||||
}
|
||||
}
|
||||
|
||||
// replaceVendor returns the result of replacing
|
||||
// non-trailing vendor path elements in x with repl.
|
||||
func replaceVendor(x, repl string) string {
|
||||
if !strings.Contains(x, "vendor") {
|
||||
return x
|
||||
}
|
||||
elem := strings.Split(x, "/")
|
||||
for i := 0; i < len(elem)-1; i++ {
|
||||
if elem[i] == "vendor" {
|
||||
elem[i] = repl
|
||||
}
|
||||
}
|
||||
return strings.Join(elem, "/")
|
||||
}
|
||||
57
vendor/golang.org/x/tools/go/packages/loadmode_string.go
generated
vendored
Normal file
57
vendor/golang.org/x/tools/go/packages/loadmode_string.go
generated
vendored
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package packages
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var allModes = []LoadMode{
|
||||
NeedName,
|
||||
NeedFiles,
|
||||
NeedCompiledGoFiles,
|
||||
NeedImports,
|
||||
NeedDeps,
|
||||
NeedExportsFile,
|
||||
NeedTypes,
|
||||
NeedSyntax,
|
||||
NeedTypesInfo,
|
||||
NeedTypesSizes,
|
||||
}
|
||||
|
||||
var modeStrings = []string{
|
||||
"NeedName",
|
||||
"NeedFiles",
|
||||
"NeedCompiledGoFiles",
|
||||
"NeedImports",
|
||||
"NeedDeps",
|
||||
"NeedExportsFile",
|
||||
"NeedTypes",
|
||||
"NeedSyntax",
|
||||
"NeedTypesInfo",
|
||||
"NeedTypesSizes",
|
||||
}
|
||||
|
||||
func (mod LoadMode) String() string {
|
||||
m := mod
|
||||
if m == 0 {
|
||||
return "LoadMode(0)"
|
||||
}
|
||||
var out []string
|
||||
for i, x := range allModes {
|
||||
if x > m {
|
||||
break
|
||||
}
|
||||
if (m & x) != 0 {
|
||||
out = append(out, modeStrings[i])
|
||||
m = m ^ x
|
||||
}
|
||||
}
|
||||
if m != 0 {
|
||||
out = append(out, "Unknown")
|
||||
}
|
||||
return fmt.Sprintf("LoadMode(%s)", strings.Join(out, "|"))
|
||||
}
|
||||
1239
vendor/golang.org/x/tools/go/packages/packages.go
generated
vendored
Normal file
1239
vendor/golang.org/x/tools/go/packages/packages.go
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
59
vendor/golang.org/x/tools/go/packages/visit.go
generated
vendored
Normal file
59
vendor/golang.org/x/tools/go/packages/visit.go
generated
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package packages
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"sort"
|
||||
)
|
||||
|
||||
// Visit visits all the packages in the import graph whose roots are
|
||||
// pkgs, calling the optional pre function the first time each package
|
||||
// is encountered (preorder), and the optional post function after a
|
||||
// package's dependencies have been visited (postorder).
|
||||
// The boolean result of pre(pkg) determines whether
|
||||
// the imports of package pkg are visited.
|
||||
func Visit(pkgs []*Package, pre func(*Package) bool, post func(*Package)) {
|
||||
seen := make(map[*Package]bool)
|
||||
var visit func(*Package)
|
||||
visit = func(pkg *Package) {
|
||||
if !seen[pkg] {
|
||||
seen[pkg] = true
|
||||
|
||||
if pre == nil || pre(pkg) {
|
||||
paths := make([]string, 0, len(pkg.Imports))
|
||||
for path := range pkg.Imports {
|
||||
paths = append(paths, path)
|
||||
}
|
||||
sort.Strings(paths) // Imports is a map, this makes visit stable
|
||||
for _, path := range paths {
|
||||
visit(pkg.Imports[path])
|
||||
}
|
||||
}
|
||||
|
||||
if post != nil {
|
||||
post(pkg)
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, pkg := range pkgs {
|
||||
visit(pkg)
|
||||
}
|
||||
}
|
||||
|
||||
// PrintErrors prints to os.Stderr the accumulated errors of all
|
||||
// packages in the import graph rooted at pkgs, dependencies first.
|
||||
// PrintErrors returns the number of errors printed.
|
||||
func PrintErrors(pkgs []*Package) int {
|
||||
var n int
|
||||
Visit(pkgs, nil, func(pkg *Package) {
|
||||
for _, err := range pkg.Errors {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
n++
|
||||
}
|
||||
})
|
||||
return n
|
||||
}
|
||||
85
vendor/golang.org/x/tools/internal/event/core/event.go
generated
vendored
Normal file
85
vendor/golang.org/x/tools/internal/event/core/event.go
generated
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package core provides support for event based telemetry.
|
||||
package core
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"golang.org/x/tools/internal/event/label"
|
||||
)
|
||||
|
||||
// Event holds the information about an event of note that occurred.
|
||||
type Event struct {
|
||||
at time.Time
|
||||
|
||||
// As events are often on the stack, storing the first few labels directly
|
||||
// in the event can avoid an allocation at all for the very common cases of
|
||||
// simple events.
|
||||
// The length needs to be large enough to cope with the majority of events
|
||||
// but no so large as to cause undue stack pressure.
|
||||
// A log message with two values will use 3 labels (one for each value and
|
||||
// one for the message itself).
|
||||
|
||||
static [3]label.Label // inline storage for the first few labels
|
||||
dynamic []label.Label // dynamically sized storage for remaining labels
|
||||
}
|
||||
|
||||
// eventLabelMap implements label.Map for a the labels of an Event.
|
||||
type eventLabelMap struct {
|
||||
event Event
|
||||
}
|
||||
|
||||
func (ev Event) At() time.Time { return ev.at }
|
||||
|
||||
func (ev Event) Format(f fmt.State, r rune) {
|
||||
if !ev.at.IsZero() {
|
||||
fmt.Fprint(f, ev.at.Format("2006/01/02 15:04:05 "))
|
||||
}
|
||||
for index := 0; ev.Valid(index); index++ {
|
||||
if l := ev.Label(index); l.Valid() {
|
||||
fmt.Fprintf(f, "\n\t%v", l)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (ev Event) Valid(index int) bool {
|
||||
return index >= 0 && index < len(ev.static)+len(ev.dynamic)
|
||||
}
|
||||
|
||||
func (ev Event) Label(index int) label.Label {
|
||||
if index < len(ev.static) {
|
||||
return ev.static[index]
|
||||
}
|
||||
return ev.dynamic[index-len(ev.static)]
|
||||
}
|
||||
|
||||
func (ev Event) Find(key label.Key) label.Label {
|
||||
for _, l := range ev.static {
|
||||
if l.Key() == key {
|
||||
return l
|
||||
}
|
||||
}
|
||||
for _, l := range ev.dynamic {
|
||||
if l.Key() == key {
|
||||
return l
|
||||
}
|
||||
}
|
||||
return label.Label{}
|
||||
}
|
||||
|
||||
func MakeEvent(static [3]label.Label, labels []label.Label) Event {
|
||||
return Event{
|
||||
static: static,
|
||||
dynamic: labels,
|
||||
}
|
||||
}
|
||||
|
||||
// CloneEvent event returns a copy of the event with the time adjusted to at.
|
||||
func CloneEvent(ev Event, at time.Time) Event {
|
||||
ev.at = at
|
||||
return ev
|
||||
}
|
||||
70
vendor/golang.org/x/tools/internal/event/core/export.go
generated
vendored
Normal file
70
vendor/golang.org/x/tools/internal/event/core/export.go
generated
vendored
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/tools/internal/event/label"
|
||||
)
|
||||
|
||||
// Exporter is a function that handles events.
|
||||
// It may return a modified context and event.
|
||||
type Exporter func(context.Context, Event, label.Map) context.Context
|
||||
|
||||
var (
|
||||
exporter unsafe.Pointer
|
||||
)
|
||||
|
||||
// SetExporter sets the global exporter function that handles all events.
|
||||
// The exporter is called synchronously from the event call site, so it should
|
||||
// return quickly so as not to hold up user code.
|
||||
func SetExporter(e Exporter) {
|
||||
p := unsafe.Pointer(&e)
|
||||
if e == nil {
|
||||
// &e is always valid, and so p is always valid, but for the early abort
|
||||
// of ProcessEvent to be efficient it needs to make the nil check on the
|
||||
// pointer without having to dereference it, so we make the nil function
|
||||
// also a nil pointer
|
||||
p = nil
|
||||
}
|
||||
atomic.StorePointer(&exporter, p)
|
||||
}
|
||||
|
||||
// deliver is called to deliver an event to the supplied exporter.
|
||||
// it will fill in the time.
|
||||
func deliver(ctx context.Context, exporter Exporter, ev Event) context.Context {
|
||||
// add the current time to the event
|
||||
ev.at = time.Now()
|
||||
// hand the event off to the current exporter
|
||||
return exporter(ctx, ev, ev)
|
||||
}
|
||||
|
||||
// Export is called to deliver an event to the global exporter if set.
|
||||
func Export(ctx context.Context, ev Event) context.Context {
|
||||
// get the global exporter and abort early if there is not one
|
||||
exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
|
||||
if exporterPtr == nil {
|
||||
return ctx
|
||||
}
|
||||
return deliver(ctx, *exporterPtr, ev)
|
||||
}
|
||||
|
||||
// ExportPair is called to deliver a start event to the supplied exporter.
|
||||
// It also returns a function that will deliver the end event to the same
|
||||
// exporter.
|
||||
// It will fill in the time.
|
||||
func ExportPair(ctx context.Context, begin, end Event) (context.Context, func()) {
|
||||
// get the global exporter and abort early if there is not one
|
||||
exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
|
||||
if exporterPtr == nil {
|
||||
return ctx, func() {}
|
||||
}
|
||||
ctx = deliver(ctx, *exporterPtr, begin)
|
||||
return ctx, func() { deliver(ctx, *exporterPtr, end) }
|
||||
}
|
||||
77
vendor/golang.org/x/tools/internal/event/core/fast.go
generated
vendored
Normal file
77
vendor/golang.org/x/tools/internal/event/core/fast.go
generated
vendored
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"golang.org/x/tools/internal/event/keys"
|
||||
"golang.org/x/tools/internal/event/label"
|
||||
)
|
||||
|
||||
// Log1 takes a message and one label delivers a log event to the exporter.
|
||||
// It is a customized version of Print that is faster and does no allocation.
|
||||
func Log1(ctx context.Context, message string, t1 label.Label) {
|
||||
Export(ctx, MakeEvent([3]label.Label{
|
||||
keys.Msg.Of(message),
|
||||
t1,
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// Log2 takes a message and two labels and delivers a log event to the exporter.
|
||||
// It is a customized version of Print that is faster and does no allocation.
|
||||
func Log2(ctx context.Context, message string, t1 label.Label, t2 label.Label) {
|
||||
Export(ctx, MakeEvent([3]label.Label{
|
||||
keys.Msg.Of(message),
|
||||
t1,
|
||||
t2,
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// Metric1 sends a label event to the exporter with the supplied labels.
|
||||
func Metric1(ctx context.Context, t1 label.Label) context.Context {
|
||||
return Export(ctx, MakeEvent([3]label.Label{
|
||||
keys.Metric.New(),
|
||||
t1,
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// Metric2 sends a label event to the exporter with the supplied labels.
|
||||
func Metric2(ctx context.Context, t1, t2 label.Label) context.Context {
|
||||
return Export(ctx, MakeEvent([3]label.Label{
|
||||
keys.Metric.New(),
|
||||
t1,
|
||||
t2,
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// Start1 sends a span start event with the supplied label list to the exporter.
|
||||
// It also returns a function that will end the span, which should normally be
|
||||
// deferred.
|
||||
func Start1(ctx context.Context, name string, t1 label.Label) (context.Context, func()) {
|
||||
return ExportPair(ctx,
|
||||
MakeEvent([3]label.Label{
|
||||
keys.Start.Of(name),
|
||||
t1,
|
||||
}, nil),
|
||||
MakeEvent([3]label.Label{
|
||||
keys.End.New(),
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// Start2 sends a span start event with the supplied label list to the exporter.
|
||||
// It also returns a function that will end the span, which should normally be
|
||||
// deferred.
|
||||
func Start2(ctx context.Context, name string, t1, t2 label.Label) (context.Context, func()) {
|
||||
return ExportPair(ctx,
|
||||
MakeEvent([3]label.Label{
|
||||
keys.Start.Of(name),
|
||||
t1,
|
||||
t2,
|
||||
}, nil),
|
||||
MakeEvent([3]label.Label{
|
||||
keys.End.New(),
|
||||
}, nil))
|
||||
}
|
||||
7
vendor/golang.org/x/tools/internal/event/doc.go
generated
vendored
Normal file
7
vendor/golang.org/x/tools/internal/event/doc.go
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package event provides a set of packages that cover the main
|
||||
// concepts of telemetry in an implementation agnostic way.
|
||||
package event
|
||||
127
vendor/golang.org/x/tools/internal/event/event.go
generated
vendored
Normal file
127
vendor/golang.org/x/tools/internal/event/event.go
generated
vendored
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package event
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"golang.org/x/tools/internal/event/core"
|
||||
"golang.org/x/tools/internal/event/keys"
|
||||
"golang.org/x/tools/internal/event/label"
|
||||
)
|
||||
|
||||
// Exporter is a function that handles events.
|
||||
// It may return a modified context and event.
|
||||
type Exporter func(context.Context, core.Event, label.Map) context.Context
|
||||
|
||||
// SetExporter sets the global exporter function that handles all events.
|
||||
// The exporter is called synchronously from the event call site, so it should
|
||||
// return quickly so as not to hold up user code.
|
||||
func SetExporter(e Exporter) {
|
||||
core.SetExporter(core.Exporter(e))
|
||||
}
|
||||
|
||||
// Log takes a message and a label list and combines them into a single event
|
||||
// before delivering them to the exporter.
|
||||
func Log(ctx context.Context, message string, labels ...label.Label) {
|
||||
core.Export(ctx, core.MakeEvent([3]label.Label{
|
||||
keys.Msg.Of(message),
|
||||
}, labels))
|
||||
}
|
||||
|
||||
// IsLog returns true if the event was built by the Log function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsLog(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Msg
|
||||
}
|
||||
|
||||
// Error takes a message and a label list and combines them into a single event
|
||||
// before delivering them to the exporter. It captures the error in the
|
||||
// delivered event.
|
||||
func Error(ctx context.Context, message string, err error, labels ...label.Label) {
|
||||
core.Export(ctx, core.MakeEvent([3]label.Label{
|
||||
keys.Msg.Of(message),
|
||||
keys.Err.Of(err),
|
||||
}, labels))
|
||||
}
|
||||
|
||||
// IsError returns true if the event was built by the Error function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsError(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Msg &&
|
||||
ev.Label(1).Key() == keys.Err
|
||||
}
|
||||
|
||||
// Metric sends a label event to the exporter with the supplied labels.
|
||||
func Metric(ctx context.Context, labels ...label.Label) {
|
||||
core.Export(ctx, core.MakeEvent([3]label.Label{
|
||||
keys.Metric.New(),
|
||||
}, labels))
|
||||
}
|
||||
|
||||
// IsMetric returns true if the event was built by the Metric function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsMetric(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Metric
|
||||
}
|
||||
|
||||
// Label sends a label event to the exporter with the supplied labels.
|
||||
func Label(ctx context.Context, labels ...label.Label) context.Context {
|
||||
return core.Export(ctx, core.MakeEvent([3]label.Label{
|
||||
keys.Label.New(),
|
||||
}, labels))
|
||||
}
|
||||
|
||||
// IsLabel returns true if the event was built by the Label function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsLabel(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Label
|
||||
}
|
||||
|
||||
// Start sends a span start event with the supplied label list to the exporter.
|
||||
// It also returns a function that will end the span, which should normally be
|
||||
// deferred.
|
||||
func Start(ctx context.Context, name string, labels ...label.Label) (context.Context, func()) {
|
||||
return core.ExportPair(ctx,
|
||||
core.MakeEvent([3]label.Label{
|
||||
keys.Start.Of(name),
|
||||
}, labels),
|
||||
core.MakeEvent([3]label.Label{
|
||||
keys.End.New(),
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// IsStart returns true if the event was built by the Start function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsStart(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Start
|
||||
}
|
||||
|
||||
// IsEnd returns true if the event was built by the End function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsEnd(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.End
|
||||
}
|
||||
|
||||
// Detach returns a context without an associated span.
|
||||
// This allows the creation of spans that are not children of the current span.
|
||||
func Detach(ctx context.Context) context.Context {
|
||||
return core.Export(ctx, core.MakeEvent([3]label.Label{
|
||||
keys.Detach.New(),
|
||||
}, nil))
|
||||
}
|
||||
|
||||
// IsDetach returns true if the event was built by the Detach function.
|
||||
// It is intended to be used in exporters to identify the semantics of the
|
||||
// event when deciding what to do with it.
|
||||
func IsDetach(ev core.Event) bool {
|
||||
return ev.Label(0).Key() == keys.Detach
|
||||
}
|
||||
564
vendor/golang.org/x/tools/internal/event/keys/keys.go
generated
vendored
Normal file
564
vendor/golang.org/x/tools/internal/event/keys/keys.go
generated
vendored
Normal file
|
|
@ -0,0 +1,564 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package keys
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"math"
|
||||
"strconv"
|
||||
|
||||
"golang.org/x/tools/internal/event/label"
|
||||
)
|
||||
|
||||
// Value represents a key for untyped values.
|
||||
type Value struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// New creates a new Key for untyped values.
|
||||
func New(name, description string) *Value {
|
||||
return &Value{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Value) Name() string { return k.name }
|
||||
func (k *Value) Description() string { return k.description }
|
||||
|
||||
func (k *Value) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
fmt.Fprint(w, k.From(l))
|
||||
}
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Value) Get(lm label.Map) interface{} {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Value) From(t label.Label) interface{} { return t.UnpackValue() }
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Value) Of(value interface{}) label.Label { return label.OfValue(k, value) }
|
||||
|
||||
// Tag represents a key for tagging labels that have no value.
|
||||
// These are used when the existence of the label is the entire information it
|
||||
// carries, such as marking events to be of a specific kind, or from a specific
|
||||
// package.
|
||||
type Tag struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewTag creates a new Key for tagging labels.
|
||||
func NewTag(name, description string) *Tag {
|
||||
return &Tag{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Tag) Name() string { return k.name }
|
||||
func (k *Tag) Description() string { return k.description }
|
||||
|
||||
func (k *Tag) Format(w io.Writer, buf []byte, l label.Label) {}
|
||||
|
||||
// New creates a new Label with this key.
|
||||
func (k *Tag) New() label.Label { return label.OfValue(k, nil) }
|
||||
|
||||
// Int represents a key
|
||||
type Int struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewInt creates a new Key for int values.
|
||||
func NewInt(name, description string) *Int {
|
||||
return &Int{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Int) Name() string { return k.name }
|
||||
func (k *Int) Description() string { return k.description }
|
||||
|
||||
func (k *Int) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Int) Of(v int) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Int) Get(lm label.Map) int {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Int) From(t label.Label) int { return int(t.Unpack64()) }
|
||||
|
||||
// Int8 represents a key
|
||||
type Int8 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewInt8 creates a new Key for int8 values.
|
||||
func NewInt8(name, description string) *Int8 {
|
||||
return &Int8{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Int8) Name() string { return k.name }
|
||||
func (k *Int8) Description() string { return k.description }
|
||||
|
||||
func (k *Int8) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Int8) Of(v int8) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Int8) Get(lm label.Map) int8 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Int8) From(t label.Label) int8 { return int8(t.Unpack64()) }
|
||||
|
||||
// Int16 represents a key
|
||||
type Int16 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewInt16 creates a new Key for int16 values.
|
||||
func NewInt16(name, description string) *Int16 {
|
||||
return &Int16{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Int16) Name() string { return k.name }
|
||||
func (k *Int16) Description() string { return k.description }
|
||||
|
||||
func (k *Int16) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Int16) Of(v int16) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Int16) Get(lm label.Map) int16 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Int16) From(t label.Label) int16 { return int16(t.Unpack64()) }
|
||||
|
||||
// Int32 represents a key
|
||||
type Int32 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewInt32 creates a new Key for int32 values.
|
||||
func NewInt32(name, description string) *Int32 {
|
||||
return &Int32{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Int32) Name() string { return k.name }
|
||||
func (k *Int32) Description() string { return k.description }
|
||||
|
||||
func (k *Int32) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendInt(buf, int64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Int32) Of(v int32) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Int32) Get(lm label.Map) int32 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Int32) From(t label.Label) int32 { return int32(t.Unpack64()) }
|
||||
|
||||
// Int64 represents a key
|
||||
type Int64 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewInt64 creates a new Key for int64 values.
|
||||
func NewInt64(name, description string) *Int64 {
|
||||
return &Int64{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Int64) Name() string { return k.name }
|
||||
func (k *Int64) Description() string { return k.description }
|
||||
|
||||
func (k *Int64) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendInt(buf, k.From(l), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Int64) Of(v int64) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Int64) Get(lm label.Map) int64 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Int64) From(t label.Label) int64 { return int64(t.Unpack64()) }
|
||||
|
||||
// UInt represents a key
|
||||
type UInt struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewUInt creates a new Key for uint values.
|
||||
func NewUInt(name, description string) *UInt {
|
||||
return &UInt{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *UInt) Name() string { return k.name }
|
||||
func (k *UInt) Description() string { return k.description }
|
||||
|
||||
func (k *UInt) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *UInt) Of(v uint) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *UInt) Get(lm label.Map) uint {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *UInt) From(t label.Label) uint { return uint(t.Unpack64()) }
|
||||
|
||||
// UInt8 represents a key
|
||||
type UInt8 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewUInt8 creates a new Key for uint8 values.
|
||||
func NewUInt8(name, description string) *UInt8 {
|
||||
return &UInt8{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *UInt8) Name() string { return k.name }
|
||||
func (k *UInt8) Description() string { return k.description }
|
||||
|
||||
func (k *UInt8) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *UInt8) Of(v uint8) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *UInt8) Get(lm label.Map) uint8 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *UInt8) From(t label.Label) uint8 { return uint8(t.Unpack64()) }
|
||||
|
||||
// UInt16 represents a key
|
||||
type UInt16 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewUInt16 creates a new Key for uint16 values.
|
||||
func NewUInt16(name, description string) *UInt16 {
|
||||
return &UInt16{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *UInt16) Name() string { return k.name }
|
||||
func (k *UInt16) Description() string { return k.description }
|
||||
|
||||
func (k *UInt16) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *UInt16) Of(v uint16) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *UInt16) Get(lm label.Map) uint16 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *UInt16) From(t label.Label) uint16 { return uint16(t.Unpack64()) }
|
||||
|
||||
// UInt32 represents a key
|
||||
type UInt32 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewUInt32 creates a new Key for uint32 values.
|
||||
func NewUInt32(name, description string) *UInt32 {
|
||||
return &UInt32{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *UInt32) Name() string { return k.name }
|
||||
func (k *UInt32) Description() string { return k.description }
|
||||
|
||||
func (k *UInt32) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendUint(buf, uint64(k.From(l)), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *UInt32) Of(v uint32) label.Label { return label.Of64(k, uint64(v)) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *UInt32) Get(lm label.Map) uint32 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *UInt32) From(t label.Label) uint32 { return uint32(t.Unpack64()) }
|
||||
|
||||
// UInt64 represents a key
|
||||
type UInt64 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewUInt64 creates a new Key for uint64 values.
|
||||
func NewUInt64(name, description string) *UInt64 {
|
||||
return &UInt64{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *UInt64) Name() string { return k.name }
|
||||
func (k *UInt64) Description() string { return k.description }
|
||||
|
||||
func (k *UInt64) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendUint(buf, k.From(l), 10))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *UInt64) Of(v uint64) label.Label { return label.Of64(k, v) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *UInt64) Get(lm label.Map) uint64 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *UInt64) From(t label.Label) uint64 { return t.Unpack64() }
|
||||
|
||||
// Float32 represents a key
|
||||
type Float32 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewFloat32 creates a new Key for float32 values.
|
||||
func NewFloat32(name, description string) *Float32 {
|
||||
return &Float32{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Float32) Name() string { return k.name }
|
||||
func (k *Float32) Description() string { return k.description }
|
||||
|
||||
func (k *Float32) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendFloat(buf, float64(k.From(l)), 'E', -1, 32))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Float32) Of(v float32) label.Label {
|
||||
return label.Of64(k, uint64(math.Float32bits(v)))
|
||||
}
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Float32) Get(lm label.Map) float32 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Float32) From(t label.Label) float32 {
|
||||
return math.Float32frombits(uint32(t.Unpack64()))
|
||||
}
|
||||
|
||||
// Float64 represents a key
|
||||
type Float64 struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewFloat64 creates a new Key for int64 values.
|
||||
func NewFloat64(name, description string) *Float64 {
|
||||
return &Float64{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Float64) Name() string { return k.name }
|
||||
func (k *Float64) Description() string { return k.description }
|
||||
|
||||
func (k *Float64) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendFloat(buf, k.From(l), 'E', -1, 64))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Float64) Of(v float64) label.Label {
|
||||
return label.Of64(k, math.Float64bits(v))
|
||||
}
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Float64) Get(lm label.Map) float64 {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Float64) From(t label.Label) float64 {
|
||||
return math.Float64frombits(t.Unpack64())
|
||||
}
|
||||
|
||||
// String represents a key
|
||||
type String struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewString creates a new Key for int64 values.
|
||||
func NewString(name, description string) *String {
|
||||
return &String{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *String) Name() string { return k.name }
|
||||
func (k *String) Description() string { return k.description }
|
||||
|
||||
func (k *String) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendQuote(buf, k.From(l)))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *String) Of(v string) label.Label { return label.OfString(k, v) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *String) Get(lm label.Map) string {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *String) From(t label.Label) string { return t.UnpackString() }
|
||||
|
||||
// Boolean represents a key
|
||||
type Boolean struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewBoolean creates a new Key for bool values.
|
||||
func NewBoolean(name, description string) *Boolean {
|
||||
return &Boolean{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Boolean) Name() string { return k.name }
|
||||
func (k *Boolean) Description() string { return k.description }
|
||||
|
||||
func (k *Boolean) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
w.Write(strconv.AppendBool(buf, k.From(l)))
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Boolean) Of(v bool) label.Label {
|
||||
if v {
|
||||
return label.Of64(k, 1)
|
||||
}
|
||||
return label.Of64(k, 0)
|
||||
}
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Boolean) Get(lm label.Map) bool {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Boolean) From(t label.Label) bool { return t.Unpack64() > 0 }
|
||||
|
||||
// Error represents a key
|
||||
type Error struct {
|
||||
name string
|
||||
description string
|
||||
}
|
||||
|
||||
// NewError creates a new Key for int64 values.
|
||||
func NewError(name, description string) *Error {
|
||||
return &Error{name: name, description: description}
|
||||
}
|
||||
|
||||
func (k *Error) Name() string { return k.name }
|
||||
func (k *Error) Description() string { return k.description }
|
||||
|
||||
func (k *Error) Format(w io.Writer, buf []byte, l label.Label) {
|
||||
io.WriteString(w, k.From(l).Error())
|
||||
}
|
||||
|
||||
// Of creates a new Label with this key and the supplied value.
|
||||
func (k *Error) Of(v error) label.Label { return label.OfValue(k, v) }
|
||||
|
||||
// Get can be used to get a label for the key from a label.Map.
|
||||
func (k *Error) Get(lm label.Map) error {
|
||||
if t := lm.Find(k); t.Valid() {
|
||||
return k.From(t)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// From can be used to get a value from a Label.
|
||||
func (k *Error) From(t label.Label) error {
|
||||
err, _ := t.UnpackValue().(error)
|
||||
return err
|
||||
}
|
||||
22
vendor/golang.org/x/tools/internal/event/keys/standard.go
generated
vendored
Normal file
22
vendor/golang.org/x/tools/internal/event/keys/standard.go
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// 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 keys
|
||||
|
||||
var (
|
||||
// Msg is a key used to add message strings to label lists.
|
||||
Msg = NewString("message", "a readable message")
|
||||
// Label is a key used to indicate an event adds labels to the context.
|
||||
Label = NewTag("label", "a label context marker")
|
||||
// Start is used for things like traces that have a name.
|
||||
Start = NewString("start", "span start")
|
||||
// Metric is a key used to indicate an event records metrics.
|
||||
End = NewTag("end", "a span end marker")
|
||||
// Metric is a key used to indicate an event records metrics.
|
||||
Detach = NewTag("detach", "a span detach marker")
|
||||
// Err is a key used to add error values to label lists.
|
||||
Err = NewError("error", "an error that occurred")
|
||||
// Metric is a key used to indicate an event records metrics.
|
||||
Metric = NewTag("metric", "a metric event marker")
|
||||
)
|
||||
215
vendor/golang.org/x/tools/internal/event/label/label.go
generated
vendored
Normal file
215
vendor/golang.org/x/tools/internal/event/label/label.go
generated
vendored
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package label
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"reflect"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// Key is used as the identity of a Label.
|
||||
// Keys are intended to be compared by pointer only, the name should be unique
|
||||
// for communicating with external systems, but it is not required or enforced.
|
||||
type Key interface {
|
||||
// Name returns the key name.
|
||||
Name() string
|
||||
// Description returns a string that can be used to describe the value.
|
||||
Description() string
|
||||
|
||||
// Format is used in formatting to append the value of the label to the
|
||||
// supplied buffer.
|
||||
// The formatter may use the supplied buf as a scratch area to avoid
|
||||
// allocations.
|
||||
Format(w io.Writer, buf []byte, l Label)
|
||||
}
|
||||
|
||||
// Label holds a key and value pair.
|
||||
// It is normally used when passing around lists of labels.
|
||||
type Label struct {
|
||||
key Key
|
||||
packed uint64
|
||||
untyped interface{}
|
||||
}
|
||||
|
||||
// Map is the interface to a collection of Labels indexed by key.
|
||||
type Map interface {
|
||||
// Find returns the label that matches the supplied key.
|
||||
Find(key Key) Label
|
||||
}
|
||||
|
||||
// List is the interface to something that provides an iterable
|
||||
// list of labels.
|
||||
// Iteration should start from 0 and continue until Valid returns false.
|
||||
type List interface {
|
||||
// Valid returns true if the index is within range for the list.
|
||||
// It does not imply the label at that index will itself be valid.
|
||||
Valid(index int) bool
|
||||
// Label returns the label at the given index.
|
||||
Label(index int) Label
|
||||
}
|
||||
|
||||
// list implements LabelList for a list of Labels.
|
||||
type list struct {
|
||||
labels []Label
|
||||
}
|
||||
|
||||
// filter wraps a LabelList filtering out specific labels.
|
||||
type filter struct {
|
||||
keys []Key
|
||||
underlying List
|
||||
}
|
||||
|
||||
// listMap implements LabelMap for a simple list of labels.
|
||||
type listMap struct {
|
||||
labels []Label
|
||||
}
|
||||
|
||||
// mapChain implements LabelMap for a list of underlying LabelMap.
|
||||
type mapChain struct {
|
||||
maps []Map
|
||||
}
|
||||
|
||||
// OfValue creates a new label from the key and value.
|
||||
// This method is for implementing new key types, label creation should
|
||||
// normally be done with the Of method of the key.
|
||||
func OfValue(k Key, value interface{}) Label { return Label{key: k, untyped: value} }
|
||||
|
||||
// UnpackValue assumes the label was built using LabelOfValue and returns the value
|
||||
// that was passed to that constructor.
|
||||
// This method is for implementing new key types, for type safety normal
|
||||
// access should be done with the From method of the key.
|
||||
func (t Label) UnpackValue() interface{} { return t.untyped }
|
||||
|
||||
// Of64 creates a new label from a key and a uint64. This is often
|
||||
// used for non uint64 values that can be packed into a uint64.
|
||||
// This method is for implementing new key types, label creation should
|
||||
// normally be done with the Of method of the key.
|
||||
func Of64(k Key, v uint64) Label { return Label{key: k, packed: v} }
|
||||
|
||||
// Unpack64 assumes the label was built using LabelOf64 and returns the value that
|
||||
// was passed to that constructor.
|
||||
// This method is for implementing new key types, for type safety normal
|
||||
// access should be done with the From method of the key.
|
||||
func (t Label) Unpack64() uint64 { return t.packed }
|
||||
|
||||
type stringptr unsafe.Pointer
|
||||
|
||||
// OfString creates a new label from a key and a string.
|
||||
// This method is for implementing new key types, label creation should
|
||||
// normally be done with the Of method of the key.
|
||||
func OfString(k Key, v string) Label {
|
||||
hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
|
||||
return Label{
|
||||
key: k,
|
||||
packed: uint64(hdr.Len),
|
||||
untyped: stringptr(hdr.Data),
|
||||
}
|
||||
}
|
||||
|
||||
// UnpackString assumes the label was built using LabelOfString and returns the
|
||||
// value that was passed to that constructor.
|
||||
// This method is for implementing new key types, for type safety normal
|
||||
// access should be done with the From method of the key.
|
||||
func (t Label) UnpackString() string {
|
||||
var v string
|
||||
hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
|
||||
hdr.Data = uintptr(t.untyped.(stringptr))
|
||||
hdr.Len = int(t.packed)
|
||||
return v
|
||||
}
|
||||
|
||||
// Valid returns true if the Label is a valid one (it has a key).
|
||||
func (t Label) Valid() bool { return t.key != nil }
|
||||
|
||||
// Key returns the key of this Label.
|
||||
func (t Label) Key() Key { return t.key }
|
||||
|
||||
// Format is used for debug printing of labels.
|
||||
func (t Label) Format(f fmt.State, r rune) {
|
||||
if !t.Valid() {
|
||||
io.WriteString(f, `nil`)
|
||||
return
|
||||
}
|
||||
io.WriteString(f, t.Key().Name())
|
||||
io.WriteString(f, "=")
|
||||
var buf [128]byte
|
||||
t.Key().Format(f, buf[:0], t)
|
||||
}
|
||||
|
||||
func (l *list) Valid(index int) bool {
|
||||
return index >= 0 && index < len(l.labels)
|
||||
}
|
||||
|
||||
func (l *list) Label(index int) Label {
|
||||
return l.labels[index]
|
||||
}
|
||||
|
||||
func (f *filter) Valid(index int) bool {
|
||||
return f.underlying.Valid(index)
|
||||
}
|
||||
|
||||
func (f *filter) Label(index int) Label {
|
||||
l := f.underlying.Label(index)
|
||||
for _, f := range f.keys {
|
||||
if l.Key() == f {
|
||||
return Label{}
|
||||
}
|
||||
}
|
||||
return l
|
||||
}
|
||||
|
||||
func (lm listMap) Find(key Key) Label {
|
||||
for _, l := range lm.labels {
|
||||
if l.Key() == key {
|
||||
return l
|
||||
}
|
||||
}
|
||||
return Label{}
|
||||
}
|
||||
|
||||
func (c mapChain) Find(key Key) Label {
|
||||
for _, src := range c.maps {
|
||||
l := src.Find(key)
|
||||
if l.Valid() {
|
||||
return l
|
||||
}
|
||||
}
|
||||
return Label{}
|
||||
}
|
||||
|
||||
var emptyList = &list{}
|
||||
|
||||
func NewList(labels ...Label) List {
|
||||
if len(labels) == 0 {
|
||||
return emptyList
|
||||
}
|
||||
return &list{labels: labels}
|
||||
}
|
||||
|
||||
func Filter(l List, keys ...Key) List {
|
||||
if len(keys) == 0 {
|
||||
return l
|
||||
}
|
||||
return &filter{keys: keys, underlying: l}
|
||||
}
|
||||
|
||||
func NewMap(labels ...Label) Map {
|
||||
return listMap{labels: labels}
|
||||
}
|
||||
|
||||
func MergeMaps(srcs ...Map) Map {
|
||||
var nonNil []Map
|
||||
for _, src := range srcs {
|
||||
if src != nil {
|
||||
nonNil = append(nonNil, src)
|
||||
}
|
||||
}
|
||||
if len(nonNil) == 1 {
|
||||
return nonNil[0]
|
||||
}
|
||||
return mapChain{maps: nonNil}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue