vendor: update x/sys/unix, chroma deps
This commit is contained in:
		
							parent
							
								
									c57803a6cd
								
							
						
					
					
						commit
						7e86ec5e8b
					
				| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
[[projects]]
 | 
			
		||||
  digest = "1:44036d48605b5a4c5b86d678257a086a8f65a5855e4dfa0372a9b4d36feb6bb0"
 | 
			
		||||
  digest = "1:edded8bfb3a265c0e051d1d1a4459445a30543c7c46007eb2246c0e89603b2fe"
 | 
			
		||||
  name = "github.com/alecthomas/chroma"
 | 
			
		||||
  packages = [
 | 
			
		||||
    ".",
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
    "styles",
 | 
			
		||||
  ]
 | 
			
		||||
  pruneopts = "UT"
 | 
			
		||||
  revision = "v0.6.2"
 | 
			
		||||
  revision = "v0.6.3"
 | 
			
		||||
 | 
			
		||||
[[projects]]
 | 
			
		||||
  branch = "master"
 | 
			
		||||
| 
						 | 
				
			
			@ -60,14 +60,11 @@
 | 
			
		|||
 | 
			
		||||
[[projects]]
 | 
			
		||||
  branch = "master"
 | 
			
		||||
  digest = "1:0d703f14f9bbbe1070ff0ce86d749dcbc9d68fb0ae554252c09bd4bb37a072e7"
 | 
			
		||||
  digest = "1:730ba27cd66db3b98ec8f51a6f20d45ec277d490cca36b1f54e31d3fcaf4840e"
 | 
			
		||||
  name = "golang.org/x/sys"
 | 
			
		||||
  packages = [
 | 
			
		||||
    "unix",
 | 
			
		||||
    "windows",
 | 
			
		||||
  ]
 | 
			
		||||
  packages = ["unix"]
 | 
			
		||||
  pruneopts = "UT"
 | 
			
		||||
  revision = "d0b11bdaac8adb652bff00e49bcacf992835621a"
 | 
			
		||||
  revision = "04f50cda93cbb67f2afa353c52f342100e80e625"
 | 
			
		||||
 | 
			
		||||
[solve-meta]
 | 
			
		||||
  analyzer-name = "dep"
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +75,6 @@
 | 
			
		|||
    "github.com/alecthomas/chroma/lexers",
 | 
			
		||||
    "github.com/alecthomas/chroma/styles",
 | 
			
		||||
    "golang.org/x/sys/unix",
 | 
			
		||||
    "golang.org/x/sys/windows",
 | 
			
		||||
  ]
 | 
			
		||||
  solver-name = "gps-cdcl"
 | 
			
		||||
  solver-version = 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
 | 
			
		||||
[[constraint]]
 | 
			
		||||
  name = "github.com/alecthomas/chroma"
 | 
			
		||||
  revision = "v0.6.2"
 | 
			
		||||
  revision = "v0.6.3"
 | 
			
		||||
 | 
			
		||||
[[constraint]]
 | 
			
		||||
  name = "golang.org/x/sys"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,3 +16,4 @@
 | 
			
		|||
 | 
			
		||||
_models/
 | 
			
		||||
 | 
			
		||||
_examples/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
run:
 | 
			
		||||
  tests: true
 | 
			
		||||
  skip-dirs:
 | 
			
		||||
    - _examples
 | 
			
		||||
 | 
			
		||||
output:
 | 
			
		||||
  print-issued-lines: false
 | 
			
		||||
 | 
			
		||||
linters:
 | 
			
		||||
  enable-all: true
 | 
			
		||||
  disable:
 | 
			
		||||
    - maligned
 | 
			
		||||
    - megacheck
 | 
			
		||||
    - lll
 | 
			
		||||
    - gocyclo
 | 
			
		||||
    - dupl
 | 
			
		||||
 | 
			
		||||
linters-settings:
 | 
			
		||||
  govet:
 | 
			
		||||
    check-shadowing: true
 | 
			
		||||
  gocyclo:
 | 
			
		||||
    min-complexity: 10
 | 
			
		||||
  dupl:
 | 
			
		||||
    threshold: 100
 | 
			
		||||
  goconst:
 | 
			
		||||
    min-len: 8
 | 
			
		||||
    min-occurrences: 3
 | 
			
		||||
 | 
			
		||||
issues:
 | 
			
		||||
  max-per-linter: 0
 | 
			
		||||
  max-same: 0
 | 
			
		||||
  exclude-use-default: false
 | 
			
		||||
  exclude:
 | 
			
		||||
    # Captured by errcheck.
 | 
			
		||||
    - '^(G104|G204):'
 | 
			
		||||
    # Very commonly not checked.
 | 
			
		||||
    - 'Error return value of .(.*\.Help|.*\.MarkFlagRequired|(os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*printf?|os\.(Un)?Setenv). is not checked'
 | 
			
		||||
    - 'exported method (.*\.MarshalJSON|.*\.UnmarshalJSON|.*\.EntityURN|.*\.GoString|.*\.Pos) should have comment or be unexported'
 | 
			
		||||
    - 'composite literal uses unkeyed fields'
 | 
			
		||||
    - 'declaration of "err" shadows declaration'
 | 
			
		||||
    - 'should not use dot imports'
 | 
			
		||||
    - 'Potential file inclusion via variable'
 | 
			
		||||
    - 'should have comment or be unexported'
 | 
			
		||||
    - 'comment on exported var .* should be of the form'
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,10 @@
 | 
			
		|||
sudo: false
 | 
			
		||||
language: go
 | 
			
		||||
script:
 | 
			
		||||
  - go test -v ./...
 | 
			
		||||
  - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s v1.10.2
 | 
			
		||||
  - ./bin/golangci-lint run
 | 
			
		||||
  - git clean -fdx .
 | 
			
		||||
after_success:
 | 
			
		||||
  go get github.com/goreleaser/goreleaser && goreleaser
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
# Chroma - A general purpose syntax highlighter in pure Go [](http://godoc.org/github.com/alecthomas/chroma) [](https://travis-ci.org/alecthomas/chroma) [](https://gitter.im/alecthomas/Lobby)
 | 
			
		||||
# Chroma — A general purpose syntax highlighter in pure Go [](https://godoc.org/github.com/alecthomas/chroma) [](https://travis-ci.org/alecthomas/chroma) [](https://gitter.im/alecthomas/Lobby)
 | 
			
		||||
 | 
			
		||||
> **NOTE:** As Chroma has just been released, its API is still in flux. That said, the high-level interface should not change significantly.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -31,13 +31,13 @@ translators for Pygments lexers and styles.
 | 
			
		|||
 | 
			
		||||
Prefix | Language
 | 
			
		||||
:----: | --------
 | 
			
		||||
A | ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, Awk
 | 
			
		||||
A | ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, Arduino, Awk
 | 
			
		||||
B | Ballerina, Base Makefile, Bash, Batchfile, BlitzBasic, BNF, Brainfuck
 | 
			
		||||
C | C, C#, C++, Cassandra CQL, CFEngine3, cfstatement/ColdFusion, CMake, COBOL, CSS, Cap'n Proto, Ceylon, ChaiScript, Cheetah, Clojure, CoffeeScript, Common Lisp, Coq, Crystal, Cython
 | 
			
		||||
D | Dart, Diff, Django/Jinja, Docker, DTD
 | 
			
		||||
E | EBNF, Elixir, Elm, EmacsLisp, Erlang
 | 
			
		||||
F | Factor, Fish, Forth, Fortran, FSharp
 | 
			
		||||
G | GAS, GDScript, GLSL, Genshi, Genshi HTML, Genshi Text, Gnuplot, Go, Go HTML Template, Go Text Template, Groovy
 | 
			
		||||
G | GAS, GDScript, GLSL, Genshi, Genshi HTML, Genshi Text, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groovy
 | 
			
		||||
H | Handlebars, Haskell, Haxe, Hexdump, HTML, HTTP, Hy 
 | 
			
		||||
I | Idris, INI, Io
 | 
			
		||||
J | Java, JavaScript, JSON, Jsx, Julia, Jungle
 | 
			
		||||
| 
						 | 
				
			
			@ -190,7 +190,7 @@ In many cases lexers can be automatically converted directly from Pygments by
 | 
			
		|||
using the included Python 3 script `pygments2chroma.py`. I use something like
 | 
			
		||||
the following:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
```sh
 | 
			
		||||
python3 ~/Projects/chroma/_tools/pygments2chroma.py \
 | 
			
		||||
  pygments.lexers.jvm.KotlinLexer \
 | 
			
		||||
  > ~/Projects/chroma/lexers/kotlin.go \
 | 
			
		||||
| 
						 | 
				
			
			@ -213,13 +213,23 @@ Chroma styles use the [same syntax](http://pygments.org/docs/styles/) as Pygment
 | 
			
		|||
 | 
			
		||||
All Pygments styles have been converted to Chroma using the `_tools/style.py` script.
 | 
			
		||||
 | 
			
		||||
When you work with one of [Chroma's styles](https://github.com/alecthomas/chroma/tree/master/styles), know that the `chroma.Background` token type provides the default style for tokens. It does so by defining a foreground color and background color. 
 | 
			
		||||
 | 
			
		||||
For example, this gives each token name not defined in the style a default color of `#f8f8f8` and uses `#000000` for the highlighted code block's background:
 | 
			
		||||
 | 
			
		||||
~~~go
 | 
			
		||||
chroma.Background: "#f8f8f2 bg:#000000",
 | 
			
		||||
~~~
 | 
			
		||||
 | 
			
		||||
Also, token types in a style file are hierarchical. For instance, when `CommentSpecial` is not defined, Chroma uses the token style from `Comment`. So when several comment tokens use the same color, you'll only need to define `Comment` and override the one that has a different color.
 | 
			
		||||
 | 
			
		||||
For a quick overview of the available styles and how they look, check out the [Chroma Style Gallery](https://xyproto.github.io/splash/docs/).
 | 
			
		||||
 | 
			
		||||
## Command-line interface
 | 
			
		||||
 | 
			
		||||
A command-line interface to Chroma is included. It can be installed with:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
```sh
 | 
			
		||||
go get -u github.com/alecthomas/chroma/cmd/chroma
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,6 +92,14 @@ func (c Colour) Brighten(factor float64) Colour {
 | 
			
		|||
	return NewColour(uint8(r), uint8(g), uint8(b))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BrightenOrDarken brightens a colour if it is < 0.5 brighteness or darkens if > 0.5 brightness.
 | 
			
		||||
func (c Colour) BrightenOrDarken(factor float64) Colour {
 | 
			
		||||
	if c.Brightness() < 0.5 {
 | 
			
		||||
		return c.Brighten(factor)
 | 
			
		||||
	}
 | 
			
		||||
	return c.Brighten(-factor)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Brightness of the colour (roughly) in the range 0.0 to 1.0
 | 
			
		||||
func (c Colour) Brightness() float64 {
 | 
			
		||||
	return (float64(c.Red()) + float64(c.Green()) + float64(c.Blue())) / 255.0 / 3.0
 | 
			
		||||
| 
						 | 
				
			
			@ -119,6 +127,7 @@ func MustParseColour(colour string) Colour {
 | 
			
		|||
	return parsed
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsSet returns true if the colour is set.
 | 
			
		||||
func (c Colour) IsSet() bool { return c != 0 }
 | 
			
		||||
 | 
			
		||||
func (c Colour) String() string   { return fmt.Sprintf("#%06x", int(c-1)) }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ type Formatter interface {
 | 
			
		|||
// Guards against iterator panics.
 | 
			
		||||
type FormatterFunc func(w io.Writer, style *Style, iterator Iterator) error
 | 
			
		||||
 | 
			
		||||
func (f FormatterFunc) Format(w io.Writer, s *Style, it Iterator) (err error) {
 | 
			
		||||
func (f FormatterFunc) Format(w io.Writer, s *Style, it Iterator) (err error) { // nolint
 | 
			
		||||
	defer func() {
 | 
			
		||||
		if perr := recover(); perr != nil {
 | 
			
		||||
			err = perr.(error)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -99,41 +99,10 @@ func (f *Formatter) Format(w io.Writer, style *chroma.Style, iterator chroma.Ite
 | 
			
		|||
	return f.writeHTML(w, style, iterator.Tokens())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func brightenOrDarken(colour chroma.Colour, factor float64) chroma.Colour {
 | 
			
		||||
	if colour.Brightness() < 0.5 {
 | 
			
		||||
		return colour.Brighten(factor)
 | 
			
		||||
	}
 | 
			
		||||
	return colour.Brighten(-factor)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Ensure that style entries exist for highlighting, etc.
 | 
			
		||||
func (f *Formatter) restyle(style *chroma.Style) (*chroma.Style, error) {
 | 
			
		||||
	builder := style.Builder()
 | 
			
		||||
	bg := builder.Get(chroma.Background)
 | 
			
		||||
	// If we don't have a line highlight colour, make one that is 10% brighter/darker than the background.
 | 
			
		||||
	if !style.Has(chroma.LineHighlight) {
 | 
			
		||||
		highlight := chroma.StyleEntry{Background: bg.Background}
 | 
			
		||||
		highlight.Background = brightenOrDarken(highlight.Background, 0.1)
 | 
			
		||||
		builder.AddEntry(chroma.LineHighlight, highlight)
 | 
			
		||||
	}
 | 
			
		||||
	// If we don't have line numbers, use the text colour but 20% brighter/darker
 | 
			
		||||
	if !style.Has(chroma.LineNumbers) {
 | 
			
		||||
		text := chroma.StyleEntry{Colour: bg.Colour}
 | 
			
		||||
		text.Colour = brightenOrDarken(text.Colour, 0.5)
 | 
			
		||||
		builder.AddEntry(chroma.LineNumbers, text)
 | 
			
		||||
		builder.AddEntry(chroma.LineNumbersTable, text)
 | 
			
		||||
	}
 | 
			
		||||
	return builder.Build()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// We deliberately don't use html/template here because it is two orders of magnitude slower (benchmarked).
 | 
			
		||||
//
 | 
			
		||||
// OTOH we need to be super careful about correct escaping...
 | 
			
		||||
func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.Token) (err error) { // nolint: gocyclo
 | 
			
		||||
	style, err = f.restyle(style)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	css := f.styleToCSS(style)
 | 
			
		||||
	if !f.Classes {
 | 
			
		||||
		for t, style := range css {
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +113,10 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.
 | 
			
		|||
		fmt.Fprint(w, "<html>\n")
 | 
			
		||||
		if f.Classes {
 | 
			
		||||
			fmt.Fprint(w, "<style type=\"text/css\">\n")
 | 
			
		||||
			f.WriteCSS(w, style)
 | 
			
		||||
			err = f.WriteCSS(w, style)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
			fmt.Fprintf(w, "body { %s; }\n", css[chroma.Background])
 | 
			
		||||
			fmt.Fprint(w, "</style>")
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -274,7 +246,7 @@ func (f *Formatter) styleAttr(styles map[chroma.TokenType]string, tt chroma.Toke
 | 
			
		|||
		if cls == "" {
 | 
			
		||||
			return ""
 | 
			
		||||
		}
 | 
			
		||||
		return string(fmt.Sprintf(` class="%s"`, cls))
 | 
			
		||||
		return fmt.Sprintf(` class="%s"`, cls)
 | 
			
		||||
	}
 | 
			
		||||
	if _, ok := styles[tt]; !ok {
 | 
			
		||||
		tt = tt.SubCategory()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,8 +44,9 @@ func Literator(tokens ...Token) Iterator {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SplitTokensIntoLines splits tokens containing newlines in two.
 | 
			
		||||
func SplitTokensIntoLines(tokens []Token) (out [][]Token) {
 | 
			
		||||
	var line []Token
 | 
			
		||||
	var line []Token // nolint: prealloc
 | 
			
		||||
	for _, token := range tokens {
 | 
			
		||||
		for strings.Contains(token.Value, "\n") {
 | 
			
		||||
			parts := strings.SplitAfterN(token.Value, "\n", 2)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,12 +66,15 @@ type Token struct {
 | 
			
		|||
func (t *Token) String() string   { return t.Value }
 | 
			
		||||
func (t *Token) GoString() string { return fmt.Sprintf("&Token{%s, %q}", t.Type, t.Value) }
 | 
			
		||||
 | 
			
		||||
// Clone returns a clone of the Token.
 | 
			
		||||
func (t *Token) Clone() Token {
 | 
			
		||||
	return *t
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EOF is returned by lexers at the end of input.
 | 
			
		||||
var EOF Token
 | 
			
		||||
 | 
			
		||||
// TokeniseOptions contains options for tokenisers.
 | 
			
		||||
type TokeniseOptions struct {
 | 
			
		||||
	// State to start tokenisation in. Defaults to "root".
 | 
			
		||||
	State string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
# Lexer tests
 | 
			
		||||
 | 
			
		||||
The tests in this directory feed a known input `testdata/<name>.actual` into the parser for `<name>` and check
 | 
			
		||||
that its output matches `<name>.exported`.
 | 
			
		||||
 | 
			
		||||
## Running the tests
 | 
			
		||||
 | 
			
		||||
Run the tests as normal:
 | 
			
		||||
```go
 | 
			
		||||
go run ./lexers
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Updating the existing tests
 | 
			
		||||
 | 
			
		||||
You can regenerate all the test outputs
 | 
			
		||||
 | 
			
		||||
```go
 | 
			
		||||
RECORD=true go test ./lexers
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,110 @@
 | 
			
		|||
package a
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	. "github.com/alecthomas/chroma" // nolint
 | 
			
		||||
	"github.com/alecthomas/chroma/lexers/internal"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Arduino lexer.
 | 
			
		||||
var Arduino = internal.Register(MustNewLexer(
 | 
			
		||||
	&Config{
 | 
			
		||||
		Name:      "Arduino",
 | 
			
		||||
		Aliases:   []string{"arduino"},
 | 
			
		||||
		Filenames: []string{"*.ino"},
 | 
			
		||||
		MimeTypes: []string{"text/x-arduino"},
 | 
			
		||||
		EnsureNL:  true,
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"statements": {
 | 
			
		||||
			{Words(``, `\b`, `catch`, `const_cast`, `delete`, `dynamic_cast`, `explicit`, `export`, `friend`, `mutable`, `namespace`, `new`, `operator`, `private`, `protected`, `public`, `reinterpret_cast`, `restrict`, `static_cast`, `template`, `this`, `throw`, `throws`, `try`, `typeid`, `typename`, `using`, `virtual`, `constexpr`, `nullptr`, `decltype`, `thread_local`, `alignas`, `alignof`, `static_assert`, `noexcept`, `override`, `final`), Keyword, nil},
 | 
			
		||||
			{`char(16_t|32_t)\b`, KeywordType, nil},
 | 
			
		||||
			{`(class)\b`, ByGroups(Keyword, Text), Push("classname")},
 | 
			
		||||
			{`(R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")`, ByGroups(LiteralStringAffix, LiteralString, LiteralStringDelimiter, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, LiteralString), nil},
 | 
			
		||||
			{`(u8|u|U)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")},
 | 
			
		||||
			{`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")},
 | 
			
		||||
			{`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil},
 | 
			
		||||
			{`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil},
 | 
			
		||||
			{`0[0-7]+[LlUu]*`, LiteralNumberOct, nil},
 | 
			
		||||
			{`\d+[LlUu]*`, LiteralNumberInteger, nil},
 | 
			
		||||
			{`\*/`, Error, nil},
 | 
			
		||||
			{`[~!%^&*+=|?:<>/-]`, Operator, nil},
 | 
			
		||||
			{`[()\[\],.]`, Punctuation, nil},
 | 
			
		||||
			{Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil},
 | 
			
		||||
			{`(_Bool|_Complex|_Imaginary|array|atomic_bool|atomic_char|atomic_int|atomic_llong|atomic_long|atomic_schar|atomic_short|atomic_uchar|atomic_uint|atomic_ullong|atomic_ulong|atomic_ushort|auto|bool|boolean|BooleanVariables|Byte|byte|Char|char|char16_t|char32_t|class|complex|Const|const|const_cast|delete|double|dynamic_cast|enum|explicit|extern|Float|float|friend|inline|Int|int|int16_t|int32_t|int64_t|int8_t|Long|long|new|NULL|null|operator|private|PROGMEM|protected|public|register|reinterpret_cast|short|signed|sizeof|Static|static|static_cast|String|struct|typedef|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|virtual|Void|void|Volatile|volatile|word)\b`, KeywordType, nil},
 | 
			
		||||
			// Start of: Arduino-specific syntax
 | 
			
		||||
			{`(and|final|If|Loop|loop|not|or|override|setup|Setup|throw|try|xor)\b`, Keyword, nil}, // Addition to keywords already defined by C++
 | 
			
		||||
			{`(ANALOG_MESSAGE|BIN|CHANGE|DEC|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FALLING|FIRMATA_STRING|HALF_PI|HEX|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL1V1|INTERNAL2V56|INTERNAL2V56|LED_BUILTIN|LED_BUILTIN_RX|LED_BUILTIN_TX|LOW|LSBFIRST|MSBFIRST|OCT|OUTPUT|PI|REPORT_ANALOG|REPORT_DIGITAL|RISING|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET|TWO_PI)\b`, KeywordConstant, nil},
 | 
			
		||||
			{`(boolean|const|byte|word|string|String|array)\b`, NameVariable, nil},
 | 
			
		||||
			{`(Keyboard|KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD)\b`, NameClass, nil},
 | 
			
		||||
			{`(abs|Abs|accept|ACos|acos|acosf|addParameter|analogRead|AnalogRead|analogReadResolution|AnalogReadResolution|analogReference|AnalogReference|analogWrite|AnalogWrite|analogWriteResolution|AnalogWriteResolution|answerCall|asin|ASin|asinf|atan|ATan|atan2|ATan2|atan2f|atanf|attach|attached|attachGPRS|attachInterrupt|AttachInterrupt|autoscroll|available|availableForWrite|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|Bit|BitClear|bitClear|bitRead|BitRead|bitSet|BitSet|BitWrite|bitWrite|blink|blinkVersion|BSSID|buffer|byte|cbrt|cbrtf|Ceil|ceil|ceilf|changePIN|char|charAt|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compareTo|compassRead|concat|config|connect|connected|constrain|Constrain|copysign|copysignf|cos|Cos|cosf|cosh|coshf|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|degrees|Delay|delay|DelayMicroseconds|delayMicroseconds|detach|DetachInterrupt|detachInterrupt|DigitalPinToInterrupt|digitalPinToInterrupt|DigitalRead|digitalRead|DigitalWrite|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endsWith|endTransmission|endWrite|equals|equalsIgnoreCase|exists|exitValue|Exp|exp|expf|fabs|fabsf|fdim|fdimf|fill|find|findUntil|float|floor|Floor|floorf|flush|fma|fmaf|fmax|fmaxf|fmin|fminf|fmod|fmodf|gatewayIP|get|getAsynchronously|getBand|getButton|getBytes|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|HighByte|home|hypot|hypotf|image|indexOf|int|interrupts|IPAddress|IRread|isActionDone|isAlpha|isAlphaNumeric|isAscii|isControl|isDigit|isDirectory|isfinite|isGraph|isHexadecimalDigit|isinf|isListening|isLowerCase|isnan|isPIN|isPressed|isPrintable|isPunct|isSpace|isUpperCase|isValid|isWhitespace|keyboardRead|keyPressed|keyReleased|knobRead|lastIndexOf|ldexp|ldexpf|leftToRight|length|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|log|Log|log10|log10f|logf|long|lowByte|LowByte|lrint|lrintf|lround|lroundf|macAddress|maintain|map|Map|Max|max|messageAvailable|Micros|micros|millis|Millis|Min|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|NoInterrupts|noListenOnLocalhost|noStroke|noTone|NoTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|PinMode|pinMode|playFile|playMelody|point|pointTo|position|Pow|pow|powf|prepare|press|print|printFirmwareVersion|println|printVersion|process|processInput|PulseIn|pulseIn|pulseInLong|PulseInLong|put|radians|random|Random|randomSeed|RandomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|replace|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|round|roundf|RSSI|run|runAsynchronously|running|runShellCommand|runShellCommandAsynchronously|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|Serial_Available|Serial_Begin|Serial_End|Serial_Flush|Serial_Peek|Serial_Print|Serial_Println|Serial_Read|serialEvent|setBand|setBitOrder|setCharAt|setClockDivider|setCursor|setDataMode|setDNS|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|ShiftIn|shiftIn|ShiftOut|shiftOut|shutdown|signbit|sin|Sin|sinf|sinh|sinhf|size|sizeof|Sq|sq|Sqrt|sqrt|sqrtf|SSID|startLoop|startsWith|step|stop|stroke|subnetMask|substring|switchPIN|tan|Tan|tanf|tanh|tanhf|tempoWrite|text|toCharArray|toInt|toLowerCase|tone|Tone|toUpperCase|transfer|trim|trunc|truncf|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|WiFiServer|word|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRed|writeRGB|yield|Yield)\b`, NameFunction, nil},
 | 
			
		||||
			// End of: Arduino-specific syntax
 | 
			
		||||
			{Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil},
 | 
			
		||||
			{`(__m(128i|128d|128|64))\b`, KeywordReserved, nil},
 | 
			
		||||
			{Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil},
 | 
			
		||||
			{`(true|false|NULL)\b`, NameBuiltin, nil},
 | 
			
		||||
			{`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil},
 | 
			
		||||
			{`[a-zA-Z_]\w*`, Name, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"root": {
 | 
			
		||||
			Include("whitespace"),
 | 
			
		||||
			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")},
 | 
			
		||||
			{`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil},
 | 
			
		||||
			Default(Push("statement")),
 | 
			
		||||
			{Words(`__`, `\b`, `virtual_inheritance`, `uuidof`, `super`, `single_inheritance`, `multiple_inheritance`, `interface`, `event`), KeywordReserved, nil},
 | 
			
		||||
			{`__(offload|blockingoffload|outer)\b`, KeywordPseudo, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"classname": {
 | 
			
		||||
			{`[a-zA-Z_]\w*`, NameClass, Pop(1)},
 | 
			
		||||
			{`\s*(?=>)`, Text, Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
		"whitespace": {
 | 
			
		||||
			{`^#if\s+0`, CommentPreproc, Push("if0")},
 | 
			
		||||
			{`^#`, CommentPreproc, Push("macro")},
 | 
			
		||||
			{`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")},
 | 
			
		||||
			{`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")},
 | 
			
		||||
			{`\n`, Text, nil},
 | 
			
		||||
			{`\s+`, Text, nil},
 | 
			
		||||
			{`\\\n`, Text, nil},
 | 
			
		||||
			{`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil},
 | 
			
		||||
			{`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil},
 | 
			
		||||
			{`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"statement": {
 | 
			
		||||
			Include("whitespace"),
 | 
			
		||||
			Include("statements"),
 | 
			
		||||
			{`[{}]`, Punctuation, nil},
 | 
			
		||||
			{`;`, Punctuation, Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
		"function": {
 | 
			
		||||
			Include("whitespace"),
 | 
			
		||||
			Include("statements"),
 | 
			
		||||
			{`;`, Punctuation, nil},
 | 
			
		||||
			{`\{`, Punctuation, Push()},
 | 
			
		||||
			{`\}`, Punctuation, Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
		"string": {
 | 
			
		||||
			{`"`, LiteralString, Pop(1)},
 | 
			
		||||
			{`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil},
 | 
			
		||||
			{`[^\\"\n]+`, LiteralString, nil},
 | 
			
		||||
			{`\\\n`, LiteralString, nil},
 | 
			
		||||
			{`\\`, LiteralString, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"macro": {
 | 
			
		||||
			{`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil},
 | 
			
		||||
			{`[^/\n]+`, CommentPreproc, nil},
 | 
			
		||||
			{`/[*](.|\n)*?[*]/`, CommentMultiline, nil},
 | 
			
		||||
			{`//.*?\n`, CommentSingle, Pop(1)},
 | 
			
		||||
			{`/`, CommentPreproc, nil},
 | 
			
		||||
			{`(?<=\\)\n`, CommentPreproc, nil},
 | 
			
		||||
			{`\n`, CommentPreproc, Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
		"if0": {
 | 
			
		||||
			{`^\s*#if.*?(?<!\\)\n`, CommentPreproc, Push()},
 | 
			
		||||
			{`^\s*#el(?:se|if).*\n`, CommentPreproc, Pop(1)},
 | 
			
		||||
			{`^\s*#endif.*?(?<!\\)\n`, CommentPreproc, Pop(1)},
 | 
			
		||||
			{`.*?\n`, Comment, nil},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
))
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ var CSharp = internal.Register(MustNewLexer(
 | 
			
		|||
		Filenames: []string{"*.cs"},
 | 
			
		||||
		MimeTypes: []string{"text/x-csharp"},
 | 
			
		||||
		DotAll:    true,
 | 
			
		||||
		EnsureNL:  true,
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
package g
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	. "github.com/alecthomas/chroma" // nolint
 | 
			
		||||
	"github.com/alecthomas/chroma/lexers/internal"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Go lexer.
 | 
			
		||||
var Graphql = internal.Register(MustNewLexer(
 | 
			
		||||
	&Config{
 | 
			
		||||
		Name:      "GraphQL",
 | 
			
		||||
		Aliases:   []string{"graphql", "graphqls", "gql"},
 | 
			
		||||
		Filenames: []string{"*.graphql", "*.graphqls"},
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
			{`(query|mutation|subscription|fragment|scalar|implements|interface|union|enum|input|type)`, KeywordDeclaration, Push("type")},
 | 
			
		||||
			{`(on|extend|schema|directive|\.\.\.)`, KeywordDeclaration, nil},
 | 
			
		||||
			{`(QUERY|MUTATION|SUBSCRIPTION|FIELD|FRAGMENT_DEFINITION|FRAGMENT_SPREAD|INLINE_FRAGMENT|SCHEMA|SCALAR|OBJECT|FIELD_DEFINITION|ARGUMENT_DEFINITION|INTERFACE|UNION|ENUM|ENUM_VALUE|INPUT_OBJECT|INPUT_FIELD_DEFINITION)\b`, KeywordConstant, nil},
 | 
			
		||||
			{`[^\W\d]\w*`, NameProperty, nil},
 | 
			
		||||
			{`\@\w+`, NameDecorator, nil},
 | 
			
		||||
			{`:`, Punctuation, Push("type")},
 | 
			
		||||
			{`[\(\)\{\}\[\],!\|=]`, Punctuation, nil},
 | 
			
		||||
			{`\$\w+`, NameVariable, nil},
 | 
			
		||||
			{`\d+i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil},
 | 
			
		||||
			{`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+[Ee][-+]\d+i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`(0|[1-9][0-9]*)`, LiteralNumberInteger, nil},
 | 
			
		||||
			{`"""[\x00-\x7F]*?"""`, LiteralString, nil},
 | 
			
		||||
			{`"(\\["\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])"`, LiteralStringChar, nil},
 | 
			
		||||
			{`"(\\\\|\\"|[^"])*"`, LiteralString, nil},
 | 
			
		||||
			{`"(true|false|null)*"`, Literal, nil},
 | 
			
		||||
			{`[\r\n\s]+`, Whitespace, nil},
 | 
			
		||||
			{`#[^\r\n]*`, Comment, nil},
 | 
			
		||||
		},
 | 
			
		||||
		// Treats the next word as a class, default rules it would be a property
 | 
			
		||||
		"type": {
 | 
			
		||||
			{`[^\W\d]\w*`, NameClass, Pop(1)},
 | 
			
		||||
			Include("root"),
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
))
 | 
			
		||||
| 
						 | 
				
			
			@ -77,56 +77,55 @@ func (d *httpBodyContentTyper) Tokenise(options *TokeniseOptions, text string) (
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	return func() Token {
 | 
			
		||||
		for token := it(); token != EOF; token = it() {
 | 
			
		||||
			switch {
 | 
			
		||||
			case token.Type == Name && strings.ToLower(token.Value) == "content-type":
 | 
			
		||||
				{
 | 
			
		||||
					isContentType = true
 | 
			
		||||
				}
 | 
			
		||||
			case token.Type == Literal && isContentType:
 | 
			
		||||
				{
 | 
			
		||||
					isContentType = false
 | 
			
		||||
					contentType = strings.TrimSpace(token.Value)
 | 
			
		||||
					pos := strings.Index(contentType, ";")
 | 
			
		||||
					if pos > 0 {
 | 
			
		||||
						contentType = strings.TrimSpace(contentType[:pos])
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			case token.Type == Generic && contentType != "":
 | 
			
		||||
				{
 | 
			
		||||
					lexer := internal.MatchMimeType(contentType)
 | 
			
		||||
 | 
			
		||||
					// application/calendar+xml can be treated as application/xml
 | 
			
		||||
					// if there's not a better match.
 | 
			
		||||
					if lexer == nil && strings.Contains(contentType, "+") {
 | 
			
		||||
						slashPos := strings.Index(contentType, "/")
 | 
			
		||||
						plusPos := strings.LastIndex(contentType, "+")
 | 
			
		||||
						contentType = contentType[:slashPos+1] + contentType[plusPos+1:]
 | 
			
		||||
						lexer = internal.MatchMimeType(contentType)
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if lexer == nil {
 | 
			
		||||
						token.Type = Text
 | 
			
		||||
					} else {
 | 
			
		||||
						subIterator, err = lexer.Tokenise(nil, token.Value)
 | 
			
		||||
						if err != nil {
 | 
			
		||||
							panic(err)
 | 
			
		||||
						}
 | 
			
		||||
						return EOF
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
		token := it()
 | 
			
		||||
 | 
			
		||||
		if token == EOF {
 | 
			
		||||
			if subIterator != nil {
 | 
			
		||||
				return subIterator()
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return token
 | 
			
		||||
			return EOF
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if subIterator != nil {
 | 
			
		||||
			for token := subIterator(); token != EOF; token = subIterator() {
 | 
			
		||||
				return token
 | 
			
		||||
		switch {
 | 
			
		||||
		case token.Type == Name && strings.ToLower(token.Value) == "content-type":
 | 
			
		||||
			{
 | 
			
		||||
				isContentType = true
 | 
			
		||||
			}
 | 
			
		||||
		case token.Type == Literal && isContentType:
 | 
			
		||||
			{
 | 
			
		||||
				isContentType = false
 | 
			
		||||
				contentType = strings.TrimSpace(token.Value)
 | 
			
		||||
				pos := strings.Index(contentType, ";")
 | 
			
		||||
				if pos > 0 {
 | 
			
		||||
					contentType = strings.TrimSpace(contentType[:pos])
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		case token.Type == Generic && contentType != "":
 | 
			
		||||
			{
 | 
			
		||||
				lexer := internal.MatchMimeType(contentType)
 | 
			
		||||
 | 
			
		||||
				// application/calendar+xml can be treated as application/xml
 | 
			
		||||
				// if there's not a better match.
 | 
			
		||||
				if lexer == nil && strings.Contains(contentType, "+") {
 | 
			
		||||
					slashPos := strings.Index(contentType, "/")
 | 
			
		||||
					plusPos := strings.LastIndex(contentType, "+")
 | 
			
		||||
					contentType = contentType[:slashPos+1] + contentType[plusPos+1:]
 | 
			
		||||
					lexer = internal.MatchMimeType(contentType)
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if lexer == nil {
 | 
			
		||||
					token.Type = Text
 | 
			
		||||
				} else {
 | 
			
		||||
					subIterator, err = lexer.Tokenise(nil, token.Value)
 | 
			
		||||
					if err != nil {
 | 
			
		||||
						panic(err)
 | 
			
		||||
					}
 | 
			
		||||
					return EOF
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		return EOF
 | 
			
		||||
		return token
 | 
			
		||||
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,6 @@ var JavascriptRules = Rules{
 | 
			
		|||
	},
 | 
			
		||||
	"root": {
 | 
			
		||||
		{`\A#! ?/.*?\n`, CommentHashbang, nil},
 | 
			
		||||
		{`^(?=\s|/|<!--)`, Text, Push("slashstartsregex")},
 | 
			
		||||
		Include("commentsandwhitespace"),
 | 
			
		||||
		{`(\.\d+|[0-9]+\.[0-9]*)([eE][-+]?[0-9]+)?`, LiteralNumberFloat, nil},
 | 
			
		||||
		{`0[bB][01]+`, LiteralNumberBin, nil},
 | 
			
		||||
| 
						 | 
				
			
			@ -32,6 +31,7 @@ var JavascriptRules = Rules{
 | 
			
		|||
		{`[0-9]+`, LiteralNumberInteger, nil},
 | 
			
		||||
		{`\.\.\.|=>`, Punctuation, nil},
 | 
			
		||||
		{`\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?`, Operator, Push("slashstartsregex")},
 | 
			
		||||
		{`^(?=\s|/|<!--)`, Text, Push("slashstartsregex")},
 | 
			
		||||
		{`[{(\[;,]`, Punctuation, Push("slashstartsregex")},
 | 
			
		||||
		{`[})\].]`, Punctuation, nil},
 | 
			
		||||
		{`(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|this|of|class|const|debugger|export|extends|import|super)\b`, Keyword, Push("slashstartsregex")},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ var Julia = internal.Register(MustNewLexer(
 | 
			
		|||
			{`in\b`, KeywordPseudo, nil},
 | 
			
		||||
			{`(true|false)\b`, KeywordConstant, nil},
 | 
			
		||||
			{`(local|global|const)\b`, KeywordDeclaration, nil},
 | 
			
		||||
			{Words(``, `\b`, `function`, `type`, `typealias`, `abstract`, `immutable`, `baremodule`, `begin`, `bitstype`, `break`, `catch`, `ccall`, `continue`, `do`, `else`, `elseif`, `end`, `export`, `finally`, `for`, `if`, `import`, `importall`, `let`, `macro`, `module`, `quote`, `return`, `try`, `using`, `while`), Keyword, nil},
 | 
			
		||||
			{Words(``, `\b`, `function`, `type`, `typealias`, `abstract`, `immutable`, `mutable`, `struct`, `baremodule`, `begin`, `bitstype`, `break`, `catch`, `ccall`, `continue`, `do`, `else`, `elseif`, `end`, `export`, `finally`, `for`, `if`, `import`, `importall`, `let`, `macro`, `module`, `quote`, `return`, `try`, `using`, `while`), Keyword, nil},
 | 
			
		||||
			{Words(``, `\b`, `ANY`, `ASCIIString`, `AbstractArray`, `AbstractChannel`, `AbstractFloat`, `AbstractMatrix`, `AbstractRNG`, `AbstractSparseArray`, `AbstractSparseMatrix`, `AbstractSparseVector`, `AbstractString`, `AbstractVecOrMat`, `AbstractVector`, `Any`, `ArgumentError`, `Array`, `AssertionError`, `Associative`, `Base64DecodePipe`, `Base64EncodePipe`, `Bidiagonal`, `BigFloat`, `BigInt`, `BitArray`, `BitMatrix`, `BitVector`, `Bool`, `BoundsError`, `Box`, `BufferStream`, `CapturedException`, `CartesianIndex`, `CartesianRange`, `Cchar`, `Cdouble`, `Cfloat`, `Channel`, `Char`, `Cint`, `Cintmax_t`, `Clong`, `Clonglong`, `ClusterManager`, `Cmd`, `Coff_t`, `Colon`, `Complex`, `Complex128`, `Complex32`, `Complex64`, `CompositeException`, `Condition`, `Cptrdiff_t`, `Cshort`, `Csize_t`, `Cssize_t`, `Cstring`, `Cuchar`, `Cuint`, `Cuintmax_t`, `Culong`, `Culonglong`, `Cushort`, `Cwchar_t`, `Cwstring`, `DataType`, `Date`, `DateTime`, `DenseArray`, `DenseMatrix`, `DenseVecOrMat`, `DenseVector`, `Diagonal`, `Dict`, `DimensionMismatch`, `Dims`, `DirectIndexString`, `Display`, `DivideError`, `DomainError`, `EOFError`, `EachLine`, `Enum`, `Enumerate`, `ErrorException`, `Exception`, `Expr`, `Factorization`, `FileMonitor`, `FileOffset`, `Filter`, `Float16`, `Float32`, `Float64`, `FloatRange`, `Function`, `GenSym`, `GlobalRef`, `GotoNode`, `HTML`, `Hermitian`, `IO`, `IOBuffer`, `IOStream`, `IPv4`, `IPv6`, `InexactError`, `InitError`, `Int`, `Int128`, `Int16`, `Int32`, `Int64`, `Int8`, `IntSet`, `Integer`, `InterruptException`, `IntrinsicFunction`, `InvalidStateException`, `Irrational`, `KeyError`, `LabelNode`, `LambdaStaticData`, `LinSpace`, `LineNumberNode`, `LoadError`, `LocalProcess`, `LowerTriangular`, `MIME`, `Matrix`, `MersenneTwister`, `Method`, `MethodError`, `MethodTable`, `Module`, `NTuple`, `NewvarNode`, `NullException`, `Nullable`, `Number`, `ObjectIdDict`, `OrdinalRange`, `OutOfMemoryError`, `OverflowError`, `Pair`, `ParseError`, `PartialQuickSort`, `Pipe`, `PollingFileWatcher`, `ProcessExitedException`, `ProcessGroup`, `Ptr`, `QuoteNode`, `RandomDevice`, `Range`, `Rational`, `RawFD`, `ReadOnlyMemoryError`, `Real`, `ReentrantLock`, `Ref`, `Regex`, `RegexMatch`, `RemoteException`, `RemoteRef`, `RepString`, `RevString`, `RopeString`, `RoundingMode`, `SegmentationFault`, `SerializationState`, `Set`, `SharedArray`, `SharedMatrix`, `SharedVector`, `Signed`, `SimpleVector`, `SparseMatrixCSC`, `StackOverflowError`, `StatStruct`, `StepRange`, `StridedArray`, `StridedMatrix`, `StridedVecOrMat`, `StridedVector`, `SubArray`, `SubString`, `SymTridiagonal`, `Symbol`, `SymbolNode`, `Symmetric`, `SystemError`, `TCPSocket`, `Task`, `Text`, `TextDisplay`, `Timer`, `TopNode`, `Tridiagonal`, `Tuple`, `Type`, `TypeConstructor`, `TypeError`, `TypeName`, `TypeVar`, `UDPSocket`, `UInt`, `UInt128`, `UInt16`, `UInt32`, `UInt64`, `UInt8`, `UTF16String`, `UTF32String`, `UTF8String`, `UndefRefError`, `UndefVarError`, `UnicodeError`, `UniformScaling`, `Union`, `UnitRange`, `Unsigned`, `UpperTriangular`, `Val`, `Vararg`, `VecOrMat`, `Vector`, `VersionNumber`, `Void`, `WString`, `WeakKeyDict`, `WeakRef`, `WorkerConfig`, `Zip`), KeywordType, nil},
 | 
			
		||||
			{Words(``, `\b`, `ARGS`, `CPU_CORES`, `C_NULL`, `DevNull`, `ENDIAN_BOM`, `ENV`, `I`, `Inf`, `Inf16`, `Inf32`, `Inf64`, `InsertionSort`, `JULIA_HOME`, `LOAD_PATH`, `MergeSort`, `NaN`, `NaN16`, `NaN32`, `NaN64`, `OS_NAME`, `QuickSort`, `RoundDown`, `RoundFromZero`, `RoundNearest`, `RoundNearestTiesAway`, `RoundNearestTiesUp`, `RoundToZero`, `RoundUp`, `STDERR`, `STDIN`, `STDOUT`, `VERSION`, `WORD_SIZE`, `catalan`, `e`, `eu`, `eulergamma`, `golden`, `im`, `nothing`, `pi`, `γ`, `π`, `φ`), NameBuiltin, nil},
 | 
			
		||||
			{Words(``, ``, `=`, `:=`, `+=`, `-=`, `*=`, `/=`, `//=`, `.//=`, `.*=`, `./=`, `\=`, `.\=`, `^=`, `.^=`, `÷=`, `.÷=`, `%=`, `.%=`, `|=`, `&=`, `$=`, `=>`, `<<=`, `>>=`, `>>>=`, `~`, `.+=`, `.-=`, `?`, `--`, `-->`, `||`, `&&`, `>`, `<`, `>=`, `≥`, `<=`, `≤`, `==`, `===`, `≡`, `!=`, `≠`, `!==`, `≢`, `.>`, `.<`, `.>=`, `.≥`, `.<=`, `.≤`, `.==`, `.!=`, `.≠`, `.=`, `.!`, `<:`, `>:`, `∈`, `∉`, `∋`, `∌`, `⊆`, `⊈`, `⊂`, `⊄`, `⊊`, `|>`, `<|`, `:`, `+`, `-`, `.+`, `.-`, `|`, `∪`, `$`, `<<`, `>>`, `>>>`, `.<<`, `.>>`, `.>>>`, `*`, `/`, `./`, `÷`, `.÷`, `%`, `⋅`, `.%`, `.*`, `\`, `.\`, `&`, `∩`, `//`, `.//`, `^`, `.^`, `::`, `.`, `+`, `-`, `!`, `~`, `√`, `∛`, `∜`), Operator, nil},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ var Kotlin = internal.Register(MustNewLexer(
 | 
			
		|||
			{`"""[^"]*"""`, LiteralString, nil},
 | 
			
		||||
			{`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil},
 | 
			
		||||
			{`'\\.'|'[^\\]'`, LiteralStringChar, nil},
 | 
			
		||||
			{`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil},
 | 
			
		||||
			{`0[xX][0-9a-fA-F]+[Uu]?[Ll]?|[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[fF]?[Uu]?[Ll]?`, LiteralNumber, nil},
 | 
			
		||||
			{`(companion)(\s+)(object)`, ByGroups(Keyword, Text, Keyword), nil},
 | 
			
		||||
			{`(class|interface|object)(\s+)`, ByGroups(Keyword, Text), Push("class")},
 | 
			
		||||
			{`(package|import)(\s+)`, ByGroups(Keyword, Text), Push("package")},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,8 +15,8 @@ var Markdown = internal.Register(MustNewLexer(
 | 
			
		|||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
			{`^(#)([^#].+\n)`, ByGroups(GenericHeading, Text), nil},
 | 
			
		||||
			{`^(#{2,6})(.+\n)`, ByGroups(GenericSubheading, Text), nil},
 | 
			
		||||
			{`^(#[^#].+\n)`, ByGroups(GenericHeading), nil},
 | 
			
		||||
			{`^(#{2,6}.+\n)`, ByGroups(GenericSubheading), nil},
 | 
			
		||||
			{`^(\s*)([*-] )(\[[ xX]\])( .+\n)`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil},
 | 
			
		||||
			{`^(\s*)([*-])(\s)(.+\n)`, ByGroups(Text, Keyword, Text, UsingSelf("inline")), nil},
 | 
			
		||||
			{`^(\s*)([0-9]+\.)( .+\n)`, ByGroups(Text, Keyword, UsingSelf("inline")), nil},
 | 
			
		||||
| 
						 | 
				
			
			@ -35,13 +35,13 @@ var Markdown = internal.Register(MustNewLexer(
 | 
			
		|||
		"inline": {
 | 
			
		||||
			{`\\.`, Text, nil},
 | 
			
		||||
			{`(\s)([*_][^*_]+[*_])(\W|\n)`, ByGroups(Text, GenericEmph, Text), nil},
 | 
			
		||||
			{`(\s)((\*\*|__).*\3)((?=\W|\n))`, ByGroups(Text, GenericStrong, None, Text), nil},
 | 
			
		||||
			{`(\s)((\*\*|__).*?)\3((?=\W|\n))`, ByGroups(Text, GenericStrong, GenericStrong, Text), nil},
 | 
			
		||||
			{`(\s)(~~[^~]+~~)((?=\W|\n))`, ByGroups(Text, GenericDeleted, Text), nil},
 | 
			
		||||
			{"`[^`]+`", LiteralStringBacktick, nil},
 | 
			
		||||
			{`[@#][\w/:]+`, NameEntity, nil},
 | 
			
		||||
			{`(!?\[)([^]]+)(\])(\()([^)]+)(\))`, ByGroups(Text, NameTag, Text, Text, NameAttribute, Text), nil},
 | 
			
		||||
			{`[^\\\s]+`, Text, nil},
 | 
			
		||||
			{`.`, Text, nil},
 | 
			
		||||
			{`.|\n`, Text, nil},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,51 @@
 | 
			
		|||
package m
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	. "github.com/alecthomas/chroma" // nolint
 | 
			
		||||
	"github.com/alecthomas/chroma/lexers/internal"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Matlab lexer.
 | 
			
		||||
var Matlab = internal.Register(MustNewLexer(
 | 
			
		||||
	&Config{
 | 
			
		||||
		Name:      "Matlab",
 | 
			
		||||
		Aliases:   []string{"matlab"},
 | 
			
		||||
		Filenames: []string{"*.m"},
 | 
			
		||||
		MimeTypes: []string{"text/matlab"},
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
			{`\n`, Text, nil},
 | 
			
		||||
			{`^!.*`, LiteralStringOther, nil},
 | 
			
		||||
			{`%\{\s*\n`, CommentMultiline, Push("blockcomment")},
 | 
			
		||||
			{`%.*$`, Comment, nil},
 | 
			
		||||
			{`^\s*function`, Keyword, Push("deffunc")},
 | 
			
		||||
			{Words(``, `\b`, `break`, `case`, `catch`, `classdef`, `continue`, `else`, `elseif`, `end`, `enumerated`, `events`, `for`, `function`, `global`, `if`, `methods`, `otherwise`, `parfor`, `persistent`, `properties`, `return`, `spmd`, `switch`, `try`, `while`), Keyword, nil},
 | 
			
		||||
			{`(sin|sind|sinh|asin|asind|asinh|cos|cosd|cosh|acos|acosd|acosh|tan|tand|tanh|atan|atand|atan2|atanh|sec|secd|sech|asec|asecd|asech|csc|cscd|csch|acsc|acscd|acsch|cot|cotd|coth|acot|acotd|acoth|hypot|exp|expm1|log|log1p|log10|log2|pow2|realpow|reallog|realsqrt|sqrt|nthroot|nextpow2|abs|angle|complex|conj|imag|real|unwrap|isreal|cplxpair|fix|floor|ceil|round|mod|rem|sign|airy|besselj|bessely|besselh|besseli|besselk|beta|betainc|betaln|ellipj|ellipke|erf|erfc|erfcx|erfinv|expint|gamma|gammainc|gammaln|psi|legendre|cross|dot|factor|isprime|primes|gcd|lcm|rat|rats|perms|nchoosek|factorial|cart2sph|cart2pol|pol2cart|sph2cart|hsv2rgb|rgb2hsv|zeros|ones|eye|repmat|rand|randn|linspace|logspace|freqspace|meshgrid|accumarray|size|length|ndims|numel|disp|isempty|isequal|isequalwithequalnans|cat|reshape|diag|blkdiag|tril|triu|fliplr|flipud|flipdim|rot90|find|end|sub2ind|ind2sub|bsxfun|ndgrid|permute|ipermute|shiftdim|circshift|squeeze|isscalar|isvector|ans|eps|realmax|realmin|pi|i|inf|nan|isnan|isinf|isfinite|j|why|compan|gallery|hadamard|hankel|hilb|invhilb|magic|pascal|rosser|toeplitz|vander|wilkinson)\b`, NameBuiltin, nil},
 | 
			
		||||
			{`\.\.\..*$`, Comment, nil},
 | 
			
		||||
			{`-|==|~=|<|>|<=|>=|&&|&|~|\|\|?`, Operator, nil},
 | 
			
		||||
			{`\.\*|\*|\+|\.\^|\.\\|\.\/|\/|\\`, Operator, nil},
 | 
			
		||||
			{`\[|\]|\(|\)|\{|\}|:|@|\.|,`, Punctuation, nil},
 | 
			
		||||
			{`=|:|;`, Punctuation, nil},
 | 
			
		||||
			{`(?<=[\w)\].])\'+`, Operator, nil},
 | 
			
		||||
			{`(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`\d+[eEf][+-]?[0-9]+`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`\d+`, LiteralNumberInteger, nil},
 | 
			
		||||
			{`(?<![\w)\].])\'`, LiteralString, Push("string")},
 | 
			
		||||
			{`[a-zA-Z_]\w*`, Name, nil},
 | 
			
		||||
			{`.`, Text, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"string": {
 | 
			
		||||
			{`[^\']*\'`, LiteralString, Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
		"blockcomment": {
 | 
			
		||||
			{`^\s*%\}`, CommentMultiline, Pop(1)},
 | 
			
		||||
			{`^.*\n`, CommentMultiline, nil},
 | 
			
		||||
			{`.`, CommentMultiline, nil},
 | 
			
		||||
		},
 | 
			
		||||
		"deffunc": {
 | 
			
		||||
			{`(\s*)(?:(.+)(\s*)(=)(\s*))?(.+)(\()(.*)(\))(\s*)`, ByGroups(TextWhitespace, Text, TextWhitespace, Punctuation, TextWhitespace, NameFunction, Punctuation, Text, Punctuation, TextWhitespace), Pop(1)},
 | 
			
		||||
			{`(\s*)([a-zA-Z_]\w*)`, ByGroups(Text, NameFunction), Pop(1)},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
))
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +28,8 @@ var Rust = internal.Register(MustNewLexer(
 | 
			
		|||
			{`/\*\*(\n|[^/*])`, LiteralStringDoc, Push("doccomment")},
 | 
			
		||||
			{`/\*!`, LiteralStringDoc, Push("doccomment")},
 | 
			
		||||
			{`/\*`, CommentMultiline, Push("comment")},
 | 
			
		||||
			{`r#*"(?:\\.|[^\\\r\n;])*"#*`, LiteralString, nil},
 | 
			
		||||
			{`"(?:\\.|[^\\\r\n"])*"`, LiteralString, nil},
 | 
			
		||||
			{`\$([a-zA-Z_]\w*|\(,?|\),?|,?)`, CommentPreproc, nil},
 | 
			
		||||
			{Words(``, `\b`, `as`, `box`, `const`, `crate`, `else`, `extern`, `for`, `if`, `impl`, `in`, `loop`, `match`, `move`, `mut`, `pub`, `ref`, `return`, `static`, `super`, `trait`, `unsafe`, `use`, `where`, `while`), Keyword, nil},
 | 
			
		||||
			{Words(``, `\b`, `abstract`, `alignof`, `become`, `do`, `final`, `macro`, `offsetof`, `override`, `priv`, `proc`, `pure`, `sizeof`, `typeof`, `unsized`, `virtual`, `yield`), KeywordReserved, nil},
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +53,6 @@ var Rust = internal.Register(MustNewLexer(
 | 
			
		|||
			{`[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)`, LiteralNumberFloat, Push("number_lit")},
 | 
			
		||||
			{`[0-9][0-9_]*`, LiteralNumberInteger, Push("number_lit")},
 | 
			
		||||
			{`b"`, LiteralString, Push("bytestring")},
 | 
			
		||||
			{`"`, LiteralString, Push("string")},
 | 
			
		||||
			{`b?r(#*)".*?"\1`, LiteralString, nil},
 | 
			
		||||
			{`'static`, NameBuiltin, nil},
 | 
			
		||||
			{`'[a-zA-Z_]\w*`, NameAttribute, nil},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,11 +8,10 @@ import (
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	scalaOp                = "[-~\\^\\*!%&\\\\<>\\|+=:/?@\xa6-\xa7\xa9\xac\xae\xb0-\xb1\xb6\xd7\xf7\u03f6\u0482\u0606-\u0608\u060e-\u060f\u06e9\u06fd-\u06fe\u07f6\u09fa\u0b70\u0bf3-\u0bf8\u0bfa\u0c7f\u0cf1-\u0cf2\u0d79\u0f01-\u0f03\u0f13-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcf\u109e-\u109f\u1360\u1390-\u1399\u1940\u19e0-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u2044\u2052\u207a-\u207c\u208a-\u208c\u2100-\u2101\u2103-\u2106\u2108-\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a-\u213b\u2140-\u2144\u214a-\u214d\u214f\u2190-\u2328\u232b-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b54\u2ce5-\u2cea\u2e80-\u2ffb\u3004\u3012-\u3013\u3020\u3036-\u3037\u303e-\u303f\u3190-\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua828-\ua82b\ufb29\ufdfd\ufe62\ufe64-\ufe66\uff0b\uff1c-\uff1e\uff5c\uff5e\uffe2\uffe4\uffe8-\uffee\ufffc-\ufffd]+"
 | 
			
		||||
	scalaUpper             = "[A-Z\\$_\xc0-\xd6\xd8-\xde\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038f\u0391-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0531-\u0556\u10a0-\u10c5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59-\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c6f\u2c72\u2c75\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\uff21-\uff3a]"
 | 
			
		||||
	scalaLetter            = `[a-zA-Z\\$_ªµºÀ-ÖØ-öø-ʯͰ-ͳͶ-ͷͻ-ͽΆΈ-ϵϷ-ҁҊ-Ֆա-ևא-ײء-ؿف-يٮ-ٯٱ-ۓەۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪऄ-हऽॐक़-ॡॲ-ॿঅ-হঽৎড়-ৡৰ-ৱਅ-ਹਖ਼-ਫ਼ੲ-ੴઅ-હઽૐ-ૡଅ-ହଽଡ଼-ୡୱஃ-ஹௐఅ-ఽౘ-ౡಅ-ಹಽೞ-ೡഅ-ഽൠ-ൡൺ-ൿඅ-ෆก-ะา-ำเ-ๅກ-ະາ-ຳຽ-ໄໜ-ༀཀ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎႠ-ჺᄀ-ፚᎀ-ᎏᎠ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᛮ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝰក-ឳៜᠠ-ᡂᡄ-ᢨᢪ-ᤜᥐ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᰀ-ᰣᱍ-ᱏᱚ-ᱷᴀ-ᴫᵢ-ᵷᵹ-ᶚḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⱼⲀ-ⳤⴀ-ⵥⶀ-ⷞ〆-〇〡-〩〸-〺〼ぁ-ゖゟァ-ヺヿ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-ꀔꀖ-ꒌꔀ-ꘋꘐ-ꘟꘪ-ꙮꚀ-ꚗꜢ-ꝯꝱ-ꞇꞋ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가-힣豈-יִײַ-ﬨשׁ-ﴽﵐ-ﷻﹰ-ﻼA-Za-zヲ-ッア-ンᅠ-ᅵ]`
 | 
			
		||||
	scalaIDRest            = fmt.Sprintf(`%s(?:%s|[0-9])*(?:(?<=_)%s)?`, scalaLetter, scalaLetter, scalaOp)
 | 
			
		||||
	scalaLetterLetterDigit = fmt.Sprintf(`%s(?:%s|\d)*`, scalaLetter, scalaLetter)
 | 
			
		||||
	scalaOp     = "[-~\\^\\*!%&\\\\<>\\|+=:/?@\xa6-\xa7\xa9\xac\xae\xb0-\xb1\xb6\xd7\xf7\u03f6\u0482\u0606-\u0608\u060e-\u060f\u06e9\u06fd-\u06fe\u07f6\u09fa\u0b70\u0bf3-\u0bf8\u0bfa\u0c7f\u0cf1-\u0cf2\u0d79\u0f01-\u0f03\u0f13-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcf\u109e-\u109f\u1360\u1390-\u1399\u1940\u19e0-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u2044\u2052\u207a-\u207c\u208a-\u208c\u2100-\u2101\u2103-\u2106\u2108-\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a-\u213b\u2140-\u2144\u214a-\u214d\u214f\u2190-\u2328\u232b-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b54\u2ce5-\u2cea\u2e80-\u2ffb\u3004\u3012-\u3013\u3020\u3036-\u3037\u303e-\u303f\u3190-\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua828-\ua82b\ufb29\ufdfd\ufe62\ufe64-\ufe66\uff0b\uff1c-\uff1e\uff5c\uff5e\uffe2\uffe4\uffe8-\uffee\ufffc-\ufffd]+"
 | 
			
		||||
	scalaUpper  = "[A-Z\\$_\xc0-\xd6\xd8-\xde\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038f\u0391-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0531-\u0556\u10a0-\u10c5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59-\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c6f\u2c72\u2c75\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\uff21-\uff3a]"
 | 
			
		||||
	scalaLetter = `[a-zA-Z\\$_ªµºÀ-ÖØ-öø-ʯͰ-ͳͶ-ͷͻ-ͽΆΈ-ϵϷ-ҁҊ-Ֆա-ևא-ײء-ؿف-يٮ-ٯٱ-ۓەۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪऄ-हऽॐक़-ॡॲ-ॿঅ-হঽৎড়-ৡৰ-ৱਅ-ਹਖ਼-ਫ਼ੲ-ੴઅ-હઽૐ-ૡଅ-ହଽଡ଼-ୡୱஃ-ஹௐఅ-ఽౘ-ౡಅ-ಹಽೞ-ೡഅ-ഽൠ-ൡൺ-ൿඅ-ෆก-ะา-ำเ-ๅກ-ະາ-ຳຽ-ໄໜ-ༀཀ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎႠ-ჺᄀ-ፚᎀ-ᎏᎠ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᛮ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝰក-ឳៜᠠ-ᡂᡄ-ᢨᢪ-ᤜᥐ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᰀ-ᰣᱍ-ᱏᱚ-ᱷᴀ-ᴫᵢ-ᵷᵹ-ᶚḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⱼⲀ-ⳤⴀ-ⵥⶀ-ⷞ〆-〇〡-〩〸-〺〼ぁ-ゖゟァ-ヺヿ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-ꀔꀖ-ꒌꔀ-ꘋꘐ-ꘟꘪ-ꙮꚀ-ꚗꜢ-ꝯꝱ-ꞇꞋ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가-힣豈-יִײַ-ﬨשׁ-ﴽﵐ-ﷻﹰ-ﻼA-Za-zヲ-ッア-ンᅠ-ᅵ]`
 | 
			
		||||
	scalaIDRest = fmt.Sprintf(`%s(?:%s|[0-9])*(?:(?<=_)%s)?`, scalaLetter, scalaLetter, scalaOp)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Scala lexer.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,8 +5,8 @@ import (
 | 
			
		|||
	"github.com/alecthomas/chroma/lexers/internal"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Sql lexer.
 | 
			
		||||
var Sql = internal.Register(MustNewLexer(
 | 
			
		||||
// SQL lexer.
 | 
			
		||||
var SQL = internal.Register(MustNewLexer(
 | 
			
		||||
	&Config{
 | 
			
		||||
		Name:            "SQL",
 | 
			
		||||
		Aliases:         []string{"sql"},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ var Systemverilog = internal.Register(MustNewLexer(
 | 
			
		|||
		"root": {
 | 
			
		||||
			{"^\\s*`define", CommentPreproc, Push("macro")},
 | 
			
		||||
			{`^(\s*)(package)(\s+)`, ByGroups(Text, KeywordNamespace, Text), nil},
 | 
			
		||||
			{`^(\s*)(import)(\s+)("DPI(?:-C)?")(\s+)`, ByGroups(Text, KeywordNamespace, Text, LiteralString, Text), nil},
 | 
			
		||||
			{`^(\s*)(import)(\s+)`, ByGroups(Text, KeywordNamespace, Text), Push("import")},
 | 
			
		||||
			{`\n`, Text, nil},
 | 
			
		||||
			{`\s+`, Text, nil},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ var TradingView = internal.Register(MustNewLexer(
 | 
			
		|||
		Filenames: []string{"*.tv"},
 | 
			
		||||
		MimeTypes: []string{"text/x-tradingview"},
 | 
			
		||||
		DotAll:    true,
 | 
			
		||||
		EnsureNL:  true,
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
| 
						 | 
				
			
			@ -24,9 +25,10 @@ var TradingView = internal.Register(MustNewLexer(
 | 
			
		|||
			{`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil},
 | 
			
		||||
			{`'\\.'|'[^\\]'`, LiteralString, nil},
 | 
			
		||||
			{`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?`, LiteralNumber, nil},
 | 
			
		||||
			{`(abs|acos|alertcondition|alma|asin|atan|atr|avg|barcolor|barssince|bgcolor|cci|ceil|change|cog|correlation|cos|crossover|crossunder|cum|dev|ema|exp|falling|fill|fixnan|floor|heikinashi|highest|highestbars|hline|iff|input|kagi|linebreak|linreg|log|log10|lowest|lowestbars|macd|max|min|mom|nz|percentile_linear_interpolation|percentile_nearest_rank|percentrank|pivothigh|pivotlow|plot|plotarrow|plotbar|plotcandle|plotchar|plotshape|pointfigure|pow|renko|rising|rma|roc|round|rsi|sar|security|sign|sin|sma|sqrt|stdev|stoch|study|sum|swma|tan|tostring|tsi|valuewhen|variance|vwma|wma|strategy\.(cancel|cancel_all|close|close_all|entry|exit|order)|strategy\.risk\.(allow_entry_in|max_cons_loss_days|max_drawdown|max_intraday_filled_orders|max_intraday_loss|max_position_size))\b`, NameFunction, nil},
 | 
			
		||||
			{`\b(cross|dayofmonth|dayofweek|hour|minute|month|na|offset|second|tickerid|time|tr|vwap|weekofyear|year)(\()`, ByGroups(NameFunction, Text), nil}, // functions that can also be variable
 | 
			
		||||
			{`(accdist|aqua|area|areabr|black|blue|bool|circles|close|columns|currency\.(AUD|CAD|CHF|EUR|GBP|HKD|JPY|NOK|NONE|NZD|SEK|SGD|TRY|USD|ZAR)|dashed|dotted|float|friday|fuchsia|gray|green|high|histogram|hl2|hlc3|integer|interval|isdaily|isdwm|isintraday|ismonthly|isweekly|lime|line|linebr|location\.(abovebar|belowbar|bottom|top)|low|maroon|monday|n|navy|ohlc4|olive|open|orange|period|purple|red|resolution|saturday|scale\.(left|none|right)|session|session\.(extended|regular)|silver|size\.(auto|huge|large|normal|small|tiny)|solid|source|string|sunday|symbol|syminfo\.(mintick|pointvalue|prefix|root|session)|teal|thursday|ticker|tuesday|volume|wednesday|white|yellow|strategy\.(cash|position_size|closedtrades|direction\.(all|long|short)|equity|eventrades|fixed|grossloss|grossprofit|initial_capital|long|losstrades|max_contracts_held_all|max_contracts_held_long|max_contracts_held_short|max_drawdown|netprofit|oca\.(cancel|none|reduce)|openprofit|opentrades|percent_of_equity|position_avg_price|position_entry_name|short|wintrades)|shape\.(arrowdown|arrowup|circle|cross|diamond|flag|labeldown|labelup|square|triangledown|triangleup|xcross)|barstate\.is(first|history|last|new|realtime)|barmerge\.(gaps_on|gaps_off|lookahead_on|lookahead_off)|strategy\.commission\.(cash_per_contract|cash_per_order|percent))\b`, NameVariable, nil},
 | 
			
		||||
			{`#[a-fA-F0-9]{8}|#[a-fA-F0-9]{6}|#[a-fA-F0-9]{3}`, LiteralStringOther, nil},
 | 
			
		||||
			{`(abs|acos|alertcondition|alma|asin|atan|atr|avg|barcolor|barssince|bgcolor|cci|ceil|change|cog|correlation|cos|crossover|crossunder|cum|dev|ema|exp|falling|fill|fixnan|floor|heikinashi|highest|highestbars|hline|iff|input|kagi|linebreak|linreg|log|log10|lowest|lowestbars|macd|max|min|mom|nz|percentile_(linear_interpolation|nearest_rank)|percentrank|pivothigh|pivotlow|plot|plotarrow|plotbar|plotcandle|plotchar|plotshape|pointfigure|pow|renko|rising|rma|roc|round|rsi|sar|security|sign|sin|sma|sqrt|stdev|stoch|study|sum|swma|tan|timestamp|tostring|tsi|valuewhen|variance|vwma|wma|strategy\.(cancel|cancel_all|close|close_all|entry|exit|order|risk\.(allow_entry_in|max_cons_loss_days|max_drawdown|max_intraday_filled_orders|max_intraday_loss|max_position_size)))\b`, NameFunction, nil},
 | 
			
		||||
			{`\b(cross|dayofmonth|dayofweek|hour|minute|month|na|offset|second|strategy|tickerid|time|tr|vwap|weekofyear|year)(\()`, ByGroups(NameFunction, Text), nil}, // functions that can also be variable
 | 
			
		||||
			{`(accdist|adjustment\.(dividends|none|splits)|aqua|area|areabr|black|blue|bool|circles|close|columns|currency\.(AUD|CAD|CHF|EUR|GBP|HKD|JPY|NOK|NONE|NZD|RUB|SEK|SGD|TRY|USD|ZAR)|dashed|dotted|float|friday|fuchsia|gray|green|high|histogram|hl2|hlc3|integer|interval|isdaily|isdwm|isintraday|ismonthly|isweekly|lime|line|linebr|location\.(abovebar|absolute|belowbar|bottom|top)|low|maroon|monday|n|navy|ohlc4|olive|open|orange|period|purple|red|resolution|saturday|scale\.(left|none|right)|session|session\.(extended|regular)|silver|size\.(auto|huge|large|normal|small|tiny)|solid|source|stepline|string|sunday|symbol|syminfo\.(mintick|pointvalue|prefix|root|session|timezone)|teal|thursday|ticker|timenow|tuesday|volume|wednesday|white|yellow|strategy\.(cash|closedtrades|commission\.(cash_per_contract|cash_per_order|percent)|direction\.(all|long|short)|equity|eventrades|fixed|grossloss|grossprofit|initial_capital|long|losstrades|max_contracts_held_(all|long|short)|max_drawdown|netprofit|oca\.(cancel|none|reduce)|openprofit|opentrades|percent_of_equity|position_avg_price|position_entry_name|position_size|short|wintrades)|shape\.(arrowdown|arrowup|circle|cross|diamond|flag|labeldown|labelup|square|triangledown|triangleup|xcross)|barstate\.is(first|history|last|new|realtime)|barmerge\.(gaps_on|gaps_off|lookahead_on|lookahead_off))\b`, NameVariable, nil},
 | 
			
		||||
			{`(cross|dayofmonth|dayofweek|hour|minute|month|na|second|tickerid|time|tr|vwap|weekofyear|year)(\b[^\(])`, ByGroups(NameVariable, Text), nil}, // variables that can also be function
 | 
			
		||||
			{`(true|false)\b`, KeywordConstant, nil},
 | 
			
		||||
			{`(and|or|not|if|else|for|to)\b`, OperatorWord, nil},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
package t
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	. "github.com/alecthomas/chroma" // nolint
 | 
			
		||||
	"github.com/alecthomas/chroma/lexers/internal"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Turing lexer.
 | 
			
		||||
var Turing = internal.Register(MustNewLexer(
 | 
			
		||||
	&Config{
 | 
			
		||||
		Name:      "Turing",
 | 
			
		||||
		Aliases:   []string{"turing"},
 | 
			
		||||
		Filenames: []string{"*.turing", "*.tu"},
 | 
			
		||||
		MimeTypes: []string{"text/x-turing"},
 | 
			
		||||
	},
 | 
			
		||||
	Rules{
 | 
			
		||||
		"root": {
 | 
			
		||||
			{`\n`, Text, nil},
 | 
			
		||||
			{`\s+`, Text, nil},
 | 
			
		||||
			{`\\\n`, Text, nil},
 | 
			
		||||
			{`%(.*?)\n`, CommentSingle, nil},
 | 
			
		||||
			{`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil},
 | 
			
		||||
			{`(var|fcn|function|proc|procedure|process|class|end|record|type|begin|case|loop|for|const|union|monitor|module|handler)\b`, KeywordDeclaration, nil},
 | 
			
		||||
			{`(all|asm|assert|bind|bits|body|break|by|cheat|checked|close|condition|decreasing|def|deferred|else|elsif|exit|export|external|flexible|fork|forward|free|get|if|implement|import|include|inherit|init|invariant|label|new|objectclass|of|opaque|open|packed|pause|pervasive|post|pre|priority|put|quit|read|register|result|seek|self|set|signal|skip|tag|tell|then|timeout|to|unchecked|unqualified|wait|when|write)\b`, Keyword, nil},
 | 
			
		||||
			{`(true|false)\b`, KeywordConstant, nil},
 | 
			
		||||
			{Words(``, `\b`, `addressint`, `array`, `boolean`, `char`, `int`, `int1`, `int2`, `int4`, `int8`, `nat`, `nat1`, `nat2`, `nat4`, `nat8`, `pointer`, `real`, `real4`, `real8`, `string`, `enum`), KeywordType, nil},
 | 
			
		||||
			{`\d+i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil},
 | 
			
		||||
			{`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+[Ee][-+]\d+i`, LiteralNumber, nil},
 | 
			
		||||
			{`\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
 | 
			
		||||
			{`0[0-7]+`, LiteralNumberOct, nil},
 | 
			
		||||
			{`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil},
 | 
			
		||||
			{`(0|[1-9][0-9]*)`, LiteralNumberInteger, nil},
 | 
			
		||||
			{`(div|mod|rem|\*\*|=|<|>|>=|<=|not=|not|and|or|xor|=>|in|shl|shr|->|~|~=|~in|&|:=|\.\.|[\^+\-*/&#])`, Operator, nil},
 | 
			
		||||
			{`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil},
 | 
			
		||||
			{`"(\\\\|\\"|[^"])*"`, LiteralString, nil},
 | 
			
		||||
			{`[()\[\]{}.,:]`, Punctuation, nil},
 | 
			
		||||
			{`[^\W\d]\w*`, NameOther, nil},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
))
 | 
			
		||||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ type LexerMutator interface {
 | 
			
		|||
// A MutatorFunc is a Mutator that mutates the lexer state machine as it is processing.
 | 
			
		||||
type MutatorFunc func(state *LexerState) error
 | 
			
		||||
 | 
			
		||||
func (m MutatorFunc) Mutate(state *LexerState) error { return m(state) }
 | 
			
		||||
func (m MutatorFunc) Mutate(state *LexerState) error { return m(state) } // nolint
 | 
			
		||||
 | 
			
		||||
// Mutators applies a set of Mutators in order.
 | 
			
		||||
func Mutators(modifiers ...Mutator) MutatorFunc {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ import (
 | 
			
		|||
	"github.com/dlclark/regexp2"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// A Rule is the fundamental matching unit of the Regex lexer state machine.
 | 
			
		||||
type Rule struct {
 | 
			
		||||
	Pattern string
 | 
			
		||||
	Type    Emitter
 | 
			
		||||
| 
						 | 
				
			
			@ -56,26 +57,26 @@ func ByGroups(emitters ...Emitter) Emitter {
 | 
			
		|||
//
 | 
			
		||||
// Example:
 | 
			
		||||
//
 | 
			
		||||
//	var Markdown = internal.Register(MustNewLexer(
 | 
			
		||||
//		&Config{
 | 
			
		||||
//			Name:      "markdown",
 | 
			
		||||
//			Aliases:   []string{"md", "mkd"},
 | 
			
		||||
//			Filenames: []string{"*.md", "*.mkd", "*.markdown"},
 | 
			
		||||
//			MimeTypes: []string{"text/x-markdown"},
 | 
			
		||||
//		},
 | 
			
		||||
//		Rules{
 | 
			
		||||
//			"root": {
 | 
			
		||||
//				{"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)",
 | 
			
		||||
//					UsingByGroup(
 | 
			
		||||
//						internal.Get,
 | 
			
		||||
//						2, 4,
 | 
			
		||||
//						String, String, String, Text, String,
 | 
			
		||||
//					),
 | 
			
		||||
//					nil,
 | 
			
		||||
//				},
 | 
			
		||||
//			},
 | 
			
		||||
//		},
 | 
			
		||||
//	))
 | 
			
		||||
// 	var Markdown = internal.Register(MustNewLexer(
 | 
			
		||||
// 		&Config{
 | 
			
		||||
// 			Name:      "markdown",
 | 
			
		||||
// 			Aliases:   []string{"md", "mkd"},
 | 
			
		||||
// 			Filenames: []string{"*.md", "*.mkd", "*.markdown"},
 | 
			
		||||
// 			MimeTypes: []string{"text/x-markdown"},
 | 
			
		||||
// 		},
 | 
			
		||||
// 		Rules{
 | 
			
		||||
// 			"root": {
 | 
			
		||||
// 				{"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)",
 | 
			
		||||
// 					UsingByGroup(
 | 
			
		||||
// 						internal.Get,
 | 
			
		||||
// 						2, 4,
 | 
			
		||||
// 						String, String, String, Text, String,
 | 
			
		||||
// 					),
 | 
			
		||||
// 					nil,
 | 
			
		||||
// 				},
 | 
			
		||||
// 			},
 | 
			
		||||
// 		},
 | 
			
		||||
// 	))
 | 
			
		||||
//
 | 
			
		||||
// See the lexers/m/markdown.go for the complete example.
 | 
			
		||||
//
 | 
			
		||||
| 
						 | 
				
			
			@ -155,6 +156,7 @@ func Tokenise(lexer Lexer, options *TokeniseOptions, text string) ([]Token, erro
 | 
			
		|||
// Rules maps from state to a sequence of Rules.
 | 
			
		||||
type Rules map[string][]Rule
 | 
			
		||||
 | 
			
		||||
// Clone returns a clone of the Rules.
 | 
			
		||||
func (r Rules) Clone() Rules {
 | 
			
		||||
	out := map[string][]Rule{}
 | 
			
		||||
	for key, rules := range r {
 | 
			
		||||
| 
						 | 
				
			
			@ -207,6 +209,7 @@ func NewLexer(config *Config, rules Rules) (*RegexLexer, error) {
 | 
			
		|||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Trace enables debug tracing.
 | 
			
		||||
func (r *RegexLexer) Trace(trace bool) *RegexLexer {
 | 
			
		||||
	r.trace = trace
 | 
			
		||||
	return r
 | 
			
		||||
| 
						 | 
				
			
			@ -221,8 +224,10 @@ type CompiledRule struct {
 | 
			
		|||
	flags  string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CompiledRules is a map of rule name to sequence of compiled rules in that rule.
 | 
			
		||||
type CompiledRules map[string][]*CompiledRule
 | 
			
		||||
 | 
			
		||||
// LexerState contains the state for a single lex.
 | 
			
		||||
type LexerState struct {
 | 
			
		||||
	Lexer *RegexLexer
 | 
			
		||||
	Text  []rune
 | 
			
		||||
| 
						 | 
				
			
			@ -238,14 +243,17 @@ type LexerState struct {
 | 
			
		|||
	iteratorStack  []Iterator
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Set mutator context.
 | 
			
		||||
func (l *LexerState) Set(key interface{}, value interface{}) {
 | 
			
		||||
	l.MutatorContext[key] = value
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Get mutator context.
 | 
			
		||||
func (l *LexerState) Get(key interface{}) interface{} {
 | 
			
		||||
	return l.MutatorContext[key]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Iterator returns the next Token from the lexer.
 | 
			
		||||
func (l *LexerState) Iterator() Token {
 | 
			
		||||
	for l.Pos < len(l.Text) && len(l.Stack) > 0 {
 | 
			
		||||
		// Exhaust the iterator stack, if any.
 | 
			
		||||
| 
						 | 
				
			
			@ -306,6 +314,7 @@ func (l *LexerState) Iterator() Token {
 | 
			
		|||
	return EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RegexLexer is the default lexer implementation used in Chroma.
 | 
			
		||||
type RegexLexer struct {
 | 
			
		||||
	config   *Config
 | 
			
		||||
	analyser func(text string) float32
 | 
			
		||||
| 
						 | 
				
			
			@ -322,14 +331,14 @@ func (r *RegexLexer) SetAnalyser(analyser func(text string) float32) *RegexLexer
 | 
			
		|||
	return r
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (r *RegexLexer) AnalyseText(text string) float32 {
 | 
			
		||||
func (r *RegexLexer) AnalyseText(text string) float32 { // nolint
 | 
			
		||||
	if r.analyser != nil {
 | 
			
		||||
		return r.analyser(text)
 | 
			
		||||
	}
 | 
			
		||||
	return 0.0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (r *RegexLexer) Config() *Config {
 | 
			
		||||
func (r *RegexLexer) Config() *Config { // nolint
 | 
			
		||||
	return r.config
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -374,7 +383,7 @@ restart:
 | 
			
		|||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) {
 | 
			
		||||
func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { // nolint
 | 
			
		||||
	if err := r.maybeCompile(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ func (r *remappingLexer) Tokenise(options *TokeniseOptions, text string) (Iterat
 | 
			
		|||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TypeMapping defines type maps for the TypeRemappingLexer.
 | 
			
		||||
type TypeMapping []struct {
 | 
			
		||||
	From, To TokenType
 | 
			
		||||
	Words    []string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,7 @@ import (
 | 
			
		|||
// Trilean value for StyleEntry value inheritance.
 | 
			
		||||
type Trilean uint8
 | 
			
		||||
 | 
			
		||||
// Trilean states.
 | 
			
		||||
const (
 | 
			
		||||
	Pass Trilean = iota
 | 
			
		||||
	Yes
 | 
			
		||||
| 
						 | 
				
			
			@ -25,6 +26,7 @@ func (t Trilean) String() string {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Prefix returns s with "no" as a prefix if Trilean is no.
 | 
			
		||||
func (t Trilean) Prefix(s string) string {
 | 
			
		||||
	if t == Yes {
 | 
			
		||||
		return s
 | 
			
		||||
| 
						 | 
				
			
			@ -73,6 +75,7 @@ func (s StyleEntry) String() string {
 | 
			
		|||
	return strings.Join(out, " ")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Sub subtracts e from s where elements match.
 | 
			
		||||
func (s StyleEntry) Sub(e StyleEntry) StyleEntry {
 | 
			
		||||
	out := StyleEntry{}
 | 
			
		||||
	if e.Colour != s.Colour {
 | 
			
		||||
| 
						 | 
				
			
			@ -247,15 +250,7 @@ func (s *Style) Builder() *StyleBuilder {
 | 
			
		|||
//
 | 
			
		||||
// This is distinct from Get() which will merge parent tokens.
 | 
			
		||||
func (s *Style) Has(ttype TokenType) bool {
 | 
			
		||||
	return !s.get(ttype).IsZero()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Style) get(ttype TokenType) StyleEntry {
 | 
			
		||||
	out := s.entries[ttype]
 | 
			
		||||
	if out.IsZero() && s.parent != nil {
 | 
			
		||||
		return s.parent.get(ttype)
 | 
			
		||||
	}
 | 
			
		||||
	return out
 | 
			
		||||
	return !s.get(ttype).IsZero() || s.synthesisable(ttype)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Get a style entry. Will try sub-category or category if an exact match is not found, and
 | 
			
		||||
| 
						 | 
				
			
			@ -268,6 +263,38 @@ func (s *Style) Get(ttype TokenType) StyleEntry {
 | 
			
		|||
		s.get(ttype.SubCategory()))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Style) get(ttype TokenType) StyleEntry {
 | 
			
		||||
	out := s.entries[ttype]
 | 
			
		||||
	if out.IsZero() && s.synthesisable(ttype) {
 | 
			
		||||
		out = s.synthesise(ttype)
 | 
			
		||||
	}
 | 
			
		||||
	if out.IsZero() && s.parent != nil {
 | 
			
		||||
		return s.parent.get(ttype)
 | 
			
		||||
	}
 | 
			
		||||
	return out
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Style) synthesise(ttype TokenType) StyleEntry {
 | 
			
		||||
	bg := s.get(Background)
 | 
			
		||||
	text := StyleEntry{Colour: bg.Colour}
 | 
			
		||||
	text.Colour = text.Colour.BrightenOrDarken(0.5)
 | 
			
		||||
 | 
			
		||||
	switch ttype {
 | 
			
		||||
	// If we don't have a line highlight colour, make one that is 10% brighter/darker than the background.
 | 
			
		||||
	case LineHighlight:
 | 
			
		||||
		return StyleEntry{Background: bg.Background.BrightenOrDarken(0.1)}
 | 
			
		||||
 | 
			
		||||
	// If we don't have line numbers, use the text colour but 20% brighter/darker
 | 
			
		||||
	case LineNumbers, LineNumbersTable:
 | 
			
		||||
		return text
 | 
			
		||||
	}
 | 
			
		||||
	return StyleEntry{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Style) synthesisable(ttype TokenType) bool {
 | 
			
		||||
	return ttype == LineHighlight || ttype == LineNumbers || ttype == LineNumbersTable
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ParseStyleEntry parses a Pygments style entry.
 | 
			
		||||
func ParseStyleEntry(entry string) (StyleEntry, error) { // nolint: gocyclo
 | 
			
		||||
	out := StyleEntry{}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,8 @@ import (
 | 
			
		|||
	"github.com/alecthomas/chroma"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Algol_Nu style.
 | 
			
		||||
var Algol_Nu = Register(chroma.MustNewStyle("algol_nu", chroma.StyleEntries{
 | 
			
		||||
// AlgolNu style.
 | 
			
		||||
var AlgolNu = Register(chroma.MustNewStyle("algol_nu", chroma.StyleEntries{
 | 
			
		||||
	chroma.Comment:            "italic #888",
 | 
			
		||||
	chroma.CommentPreproc:     "bold noitalic #888",
 | 
			
		||||
	chroma.CommentSpecial:     "bold noitalic #888",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,13 +6,15 @@ import (
 | 
			
		|||
 | 
			
		||||
// Rrt style.
 | 
			
		||||
var Rrt = Register(chroma.MustNewStyle("rrt", chroma.StyleEntries{
 | 
			
		||||
	chroma.Comment:        "#00ff00",
 | 
			
		||||
	chroma.NameFunction:   "#ffff00",
 | 
			
		||||
	chroma.NameVariable:   "#eedd82",
 | 
			
		||||
	chroma.NameConstant:   "#7fffd4",
 | 
			
		||||
	chroma.Keyword:        "#ff0000",
 | 
			
		||||
	chroma.CommentPreproc: "#e5e5e5",
 | 
			
		||||
	chroma.LiteralString:  "#87ceeb",
 | 
			
		||||
	chroma.KeywordType:    "#ee82ee",
 | 
			
		||||
	chroma.Background:     " bg:#000000",
 | 
			
		||||
	chroma.CommentPreproc:      "#e5e5e5",
 | 
			
		||||
	chroma.Comment:             "#00ff00",
 | 
			
		||||
	chroma.KeywordType:         "#ee82ee",
 | 
			
		||||
	chroma.Keyword:             "#ff0000",
 | 
			
		||||
	chroma.LiteralNumber:       "#ff6600",
 | 
			
		||||
	chroma.LiteralStringSymbol: "#ff6600",
 | 
			
		||||
	chroma.LiteralString:       "#87ceeb",
 | 
			
		||||
	chroma.NameFunction:        "#ffff00",
 | 
			
		||||
	chroma.NameConstant:        "#7fffd4",
 | 
			
		||||
	chroma.NameVariable:        "#eedd82",
 | 
			
		||||
	chroma.Background:          "#f8f8f2 bg:#000000",
 | 
			
		||||
}))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build riscv64,!gccgo
 | 
			
		||||
 | 
			
		||||
#include "textflag.h"
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// System calls for linux/riscv64.
 | 
			
		||||
//
 | 
			
		||||
// Where available, just jump to package syscall's implementation of
 | 
			
		||||
// these functions.
 | 
			
		||||
 | 
			
		||||
TEXT ·Syscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·Syscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·Syscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·Syscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
 | 
			
		||||
	CALL	runtime·entersyscall(SB)
 | 
			
		||||
	MOV	a1+8(FP), A0
 | 
			
		||||
	MOV	a2+16(FP), A1
 | 
			
		||||
	MOV	a3+24(FP), A2
 | 
			
		||||
	MOV	$0, A3
 | 
			
		||||
	MOV	$0, A4
 | 
			
		||||
	MOV	$0, A5
 | 
			
		||||
	MOV	$0, A6
 | 
			
		||||
	MOV	trap+0(FP), A7	// syscall entry
 | 
			
		||||
	ECALL
 | 
			
		||||
	MOV	A0, r1+32(FP)	// r1
 | 
			
		||||
	MOV	A1, r2+40(FP)	// r2
 | 
			
		||||
	CALL	runtime·exitsyscall(SB)
 | 
			
		||||
	RET
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·RawSyscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·RawSyscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
 | 
			
		||||
	MOV	a1+8(FP), A0
 | 
			
		||||
	MOV	a2+16(FP), A1
 | 
			
		||||
	MOV	a3+24(FP), A2
 | 
			
		||||
	MOV	ZERO, A3
 | 
			
		||||
	MOV	ZERO, A4
 | 
			
		||||
	MOV	ZERO, A5
 | 
			
		||||
	MOV	trap+0(FP), A7	// syscall entry
 | 
			
		||||
	ECALL
 | 
			
		||||
	MOV	A0, r1+32(FP)
 | 
			
		||||
	MOV	A1, r2+40(FP)
 | 
			
		||||
	RET
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build !gccgo
 | 
			
		||||
 | 
			
		||||
#include "textflag.h"
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// System call support for arm64, OpenBSD
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
// Just jump to package syscall's implementation for all these functions.
 | 
			
		||||
// The runtime may know about them.
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·Syscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·Syscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall9(SB),NOSPLIT,$0-104
 | 
			
		||||
	JMP	syscall·Syscall9(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·RawSyscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·RawSyscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·RawSyscall6(SB)
 | 
			
		||||
| 
						 | 
				
			
			@ -6,12 +6,97 @@
 | 
			
		|||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "syscall"
 | 
			
		||||
import "unsafe"
 | 
			
		||||
 | 
			
		||||
// readInt returns the size-bytes unsigned integer in native byte order at offset off.
 | 
			
		||||
func readInt(b []byte, off, size uintptr) (u uint64, ok bool) {
 | 
			
		||||
	if len(b) < int(off+size) {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	if isBigEndian {
 | 
			
		||||
		return readIntBE(b[off:], size), true
 | 
			
		||||
	}
 | 
			
		||||
	return readIntLE(b[off:], size), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func readIntBE(b []byte, size uintptr) uint64 {
 | 
			
		||||
	switch size {
 | 
			
		||||
	case 1:
 | 
			
		||||
		return uint64(b[0])
 | 
			
		||||
	case 2:
 | 
			
		||||
		_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[1]) | uint64(b[0])<<8
 | 
			
		||||
	case 4:
 | 
			
		||||
		_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24
 | 
			
		||||
	case 8:
 | 
			
		||||
		_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
 | 
			
		||||
			uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
 | 
			
		||||
	default:
 | 
			
		||||
		panic("syscall: readInt with unsupported size")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func readIntLE(b []byte, size uintptr) uint64 {
 | 
			
		||||
	switch size {
 | 
			
		||||
	case 1:
 | 
			
		||||
		return uint64(b[0])
 | 
			
		||||
	case 2:
 | 
			
		||||
		_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8
 | 
			
		||||
	case 4:
 | 
			
		||||
		_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24
 | 
			
		||||
	case 8:
 | 
			
		||||
		_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |
 | 
			
		||||
			uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
 | 
			
		||||
	default:
 | 
			
		||||
		panic("syscall: readInt with unsupported size")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ParseDirent parses up to max directory entries in buf,
 | 
			
		||||
// appending the names to names. It returns the number of
 | 
			
		||||
// bytes consumed from buf, the number of entries added
 | 
			
		||||
// to names, and the new names slice.
 | 
			
		||||
func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) {
 | 
			
		||||
	return syscall.ParseDirent(buf, max, names)
 | 
			
		||||
	origlen := len(buf)
 | 
			
		||||
	count = 0
 | 
			
		||||
	for max != 0 && len(buf) > 0 {
 | 
			
		||||
		reclen, ok := direntReclen(buf)
 | 
			
		||||
		if !ok || reclen > uint64(len(buf)) {
 | 
			
		||||
			return origlen, count, names
 | 
			
		||||
		}
 | 
			
		||||
		rec := buf[:reclen]
 | 
			
		||||
		buf = buf[reclen:]
 | 
			
		||||
		ino, ok := direntIno(rec)
 | 
			
		||||
		if !ok {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		if ino == 0 { // File absent in directory.
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		const namoff = uint64(unsafe.Offsetof(Dirent{}.Name))
 | 
			
		||||
		namlen, ok := direntNamlen(rec)
 | 
			
		||||
		if !ok || namoff+namlen > uint64(len(rec)) {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		name := rec[namoff : namoff+namlen]
 | 
			
		||||
		for i, c := range name {
 | 
			
		||||
			if c == 0 {
 | 
			
		||||
				name = name[:i]
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		// Check for useless names before allocating a string.
 | 
			
		||||
		if string(name) == "." || string(name) == ".." {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		max--
 | 
			
		||||
		count++
 | 
			
		||||
		names = append(names, string(name))
 | 
			
		||||
	}
 | 
			
		||||
	return origlen - len(buf), count, names
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,25 +105,25 @@ dragonfly_amd64)
 | 
			
		|||
freebsd_386)
 | 
			
		||||
	mkerrors="$mkerrors -m32"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_amd64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_arm)
 | 
			
		||||
	mkerrors="$mkerrors"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -arm"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
netbsd_386)
 | 
			
		||||
| 
						 | 
				
			
			@ -146,24 +146,39 @@ netbsd_arm)
 | 
			
		|||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
netbsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -netbsd"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_386)
 | 
			
		||||
	mkerrors="$mkerrors -m32"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -openbsd"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_amd64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -openbsd"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_arm)
 | 
			
		||||
	mkerrors="$mkerrors"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -openbsd -arm"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -openbsd"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +222,6 @@ esac
 | 
			
		|||
	esac
 | 
			
		||||
	if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
 | 
			
		||||
	if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
 | 
			
		||||
	if [ -n "$mktypes" ]; then
 | 
			
		||||
		echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go";
 | 
			
		||||
	if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi
 | 
			
		||||
	if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi
 | 
			
		||||
	fi
 | 
			
		||||
) | $run
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -182,6 +182,8 @@ struct ltchars {
 | 
			
		|||
#include <sys/signalfd.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/xattr.h>
 | 
			
		||||
#include <linux/bpf.h>
 | 
			
		||||
#include <linux/capability.h>
 | 
			
		||||
#include <linux/errqueue.h>
 | 
			
		||||
#include <linux/if.h>
 | 
			
		||||
#include <linux/if_alg.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -192,6 +194,7 @@ struct ltchars {
 | 
			
		|||
#include <linux/if_packet.h>
 | 
			
		||||
#include <linux/if_addr.h>
 | 
			
		||||
#include <linux/falloc.h>
 | 
			
		||||
#include <linux/fanotify.h>
 | 
			
		||||
#include <linux/filter.h>
 | 
			
		||||
#include <linux/fs.h>
 | 
			
		||||
#include <linux/kexec.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -221,6 +224,7 @@ struct ltchars {
 | 
			
		|||
#include <linux/hdreg.h>
 | 
			
		||||
#include <linux/rtc.h>
 | 
			
		||||
#include <linux/if_xdp.h>
 | 
			
		||||
#include <linux/cryptouser.h>
 | 
			
		||||
#include <mtd/ubi-user.h>
 | 
			
		||||
#include <net/route.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -431,7 +435,7 @@ ccflags="$@"
 | 
			
		|||
		$2 ~ /^TC[IO](ON|OFF)$/ ||
 | 
			
		||||
		$2 ~ /^IN_/ ||
 | 
			
		||||
		$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
 | 
			
		||||
		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
 | 
			
		||||
		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
 | 
			
		||||
		$2 ~ /^TP_STATUS_/ ||
 | 
			
		||||
		$2 ~ /^FALLOC_/ ||
 | 
			
		||||
		$2 == "ICMPV6_FILTER" ||
 | 
			
		||||
| 
						 | 
				
			
			@ -464,7 +468,7 @@ ccflags="$@"
 | 
			
		|||
		$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
 | 
			
		||||
		$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
 | 
			
		||||
		$2 ~ /^CLONE_[A-Z_]+/ ||
 | 
			
		||||
		$2 !~ /^(BPF_TIMEVAL)$/ &&
 | 
			
		||||
		$2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ &&
 | 
			
		||||
		$2 ~ /^(BPF|DLT)_/ ||
 | 
			
		||||
		$2 ~ /^(CLOCK|TIMER)_/ ||
 | 
			
		||||
		$2 ~ /^CAN_/ ||
 | 
			
		||||
| 
						 | 
				
			
			@ -498,9 +502,11 @@ ccflags="$@"
 | 
			
		|||
		$2 ~ /^NFN/ ||
 | 
			
		||||
		$2 ~ /^XDP_/ ||
 | 
			
		||||
		$2 ~ /^(HDIO|WIN|SMART)_/ ||
 | 
			
		||||
		$2 ~ /^CRYPTO_/ ||
 | 
			
		||||
		$2 !~ "WMESGLEN" &&
 | 
			
		||||
		$2 ~ /^W[A-Z0-9]+$/ ||
 | 
			
		||||
		$2 ~/^PPPIOC/ ||
 | 
			
		||||
		$2 ~ /^FAN_|FANOTIFY_/ ||
 | 
			
		||||
		$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
 | 
			
		||||
		$2 ~ /^__WCOREFLAG$/ {next}
 | 
			
		||||
		$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,9 +42,16 @@ func main() {
 | 
			
		|||
		log.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if goos == "aix" {
 | 
			
		||||
		// Replace type of Atim, Mtim and Ctim by Timespec in Stat_t
 | 
			
		||||
		// to avoid having both StTimespec and Timespec.
 | 
			
		||||
		sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`)
 | 
			
		||||
		b = sttimespec.ReplaceAll(b, []byte("Timespec"))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Intentionally export __val fields in Fsid and Sigset_t
 | 
			
		||||
	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
 | 
			
		||||
	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}"))
 | 
			
		||||
	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`)
 | 
			
		||||
	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}"))
 | 
			
		||||
 | 
			
		||||
	// Intentionally export __fds_bits field in FdSet
 | 
			
		||||
	fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`)
 | 
			
		||||
| 
						 | 
				
			
			@ -96,6 +103,15 @@ func main() {
 | 
			
		|||
	cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
 | 
			
		||||
	b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
 | 
			
		||||
 | 
			
		||||
	// Rename Stat_t time fields
 | 
			
		||||
	if goos == "freebsd" && goarch == "386" {
 | 
			
		||||
		// Hide Stat_t.[AMCB]tim_ext fields
 | 
			
		||||
		renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`)
 | 
			
		||||
		b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_"))
 | 
			
		||||
	}
 | 
			
		||||
	renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`)
 | 
			
		||||
	b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}"))
 | 
			
		||||
 | 
			
		||||
	// gofmt
 | 
			
		||||
	b, err = format.Source(b)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,6 +153,11 @@ func main() {
 | 
			
		|||
			}
 | 
			
		||||
			funct, inps, outps, sysname := f[2], f[3], f[4], f[5]
 | 
			
		||||
 | 
			
		||||
			// ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers.
 | 
			
		||||
			if goos == "darwin" && !libc && funct == "ClockGettime" {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Split argument lists on comma.
 | 
			
		||||
			in := parseParamList(inps)
 | 
			
		||||
			out := parseParamList(outps)
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +233,7 @@ func main() {
 | 
			
		|||
					} else {
 | 
			
		||||
						args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
 | 
			
		||||
					}
 | 
			
		||||
				} else if p.Type == "int64" && endianness != "" {
 | 
			
		||||
				} else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" {
 | 
			
		||||
					if len(args)%2 == 1 && *arm {
 | 
			
		||||
						// arm abi specifies 64-bit argument uses
 | 
			
		||||
						// (even, odd) pair
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -214,6 +214,11 @@ func main() {
 | 
			
		|||
			}
 | 
			
		||||
 | 
			
		||||
			if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
 | 
			
		||||
				if sysname == "select" {
 | 
			
		||||
					// select is a keyword of Go. Its name is
 | 
			
		||||
					// changed to c_select.
 | 
			
		||||
					cExtern += "#define c_select select\n"
 | 
			
		||||
				}
 | 
			
		||||
				// Imports of system calls from libc
 | 
			
		||||
				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
 | 
			
		||||
				cIn := strings.Join(cIn, ", ")
 | 
			
		||||
| 
						 | 
				
			
			@ -328,7 +333,13 @@ func main() {
 | 
			
		|||
			} else {
 | 
			
		||||
				call += ""
 | 
			
		||||
			}
 | 
			
		||||
			call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
 | 
			
		||||
			if sysname == "select" {
 | 
			
		||||
				// select is a keyword of Go. Its name is
 | 
			
		||||
				// changed to c_select.
 | 
			
		||||
				call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist)
 | 
			
		||||
			} else {
 | 
			
		||||
				call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Assign return values.
 | 
			
		||||
			body := ""
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -282,6 +282,11 @@ func main() {
 | 
			
		|||
			if !onlyCommon {
 | 
			
		||||
				// GCCGO Prototype Generation
 | 
			
		||||
				// Imports of system calls from libc
 | 
			
		||||
				if sysname == "select" {
 | 
			
		||||
					// select is a keyword of Go. Its name is
 | 
			
		||||
					// changed to c_select.
 | 
			
		||||
					cExtern += "#define c_select select\n"
 | 
			
		||||
				}
 | 
			
		||||
				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
 | 
			
		||||
				cIn := strings.Join(cIn, ", ")
 | 
			
		||||
				cExtern += fmt.Sprintf("(%s);\n", cIn)
 | 
			
		||||
| 
						 | 
				
			
			@ -490,7 +495,14 @@ func main() {
 | 
			
		|||
 | 
			
		||||
			// GCCGO function generation
 | 
			
		||||
			argsgccgolist := strings.Join(argsgccgo, ", ")
 | 
			
		||||
			callgccgo := fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			var callgccgo string
 | 
			
		||||
			if sysname == "select" {
 | 
			
		||||
				// select is a keyword of Go. Its name is
 | 
			
		||||
				// changed to c_select.
 | 
			
		||||
				callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			} else {
 | 
			
		||||
				callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			}
 | 
			
		||||
			textgccgo += callProto
 | 
			
		||||
			textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo)
 | 
			
		||||
			textgccgo += "\te1 = syscall.GetErrno()\n"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,355 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
 | 
			
		||||
//
 | 
			
		||||
// Build a MIB with each entry being an array containing the level, type and
 | 
			
		||||
// a hash that will contain additional entries if the current entry is a node.
 | 
			
		||||
// We then walk this MIB and create a flattened sysctl name to OID hash.
 | 
			
		||||
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	goos, goarch string
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// cmdLine returns this programs's commandline arguments.
 | 
			
		||||
func cmdLine() string {
 | 
			
		||||
	return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// buildTags returns build tags.
 | 
			
		||||
func buildTags() string {
 | 
			
		||||
	return fmt.Sprintf("%s,%s", goarch, goos)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// reMatch performs regular expression match and stores the substring slice to value pointed by m.
 | 
			
		||||
func reMatch(re *regexp.Regexp, str string, m *[]string) bool {
 | 
			
		||||
	*m = re.FindStringSubmatch(str)
 | 
			
		||||
	if *m != nil {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nodeElement struct {
 | 
			
		||||
	n  int
 | 
			
		||||
	t  string
 | 
			
		||||
	pE *map[string]nodeElement
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	debugEnabled bool
 | 
			
		||||
	mib          map[string]nodeElement
 | 
			
		||||
	node         *map[string]nodeElement
 | 
			
		||||
	nodeMap      map[string]string
 | 
			
		||||
	sysCtl       []string
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`)
 | 
			
		||||
	ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`)
 | 
			
		||||
	ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`)
 | 
			
		||||
	netInetRE   = regexp.MustCompile(`^netinet/`)
 | 
			
		||||
	netInet6RE  = regexp.MustCompile(`^netinet6/`)
 | 
			
		||||
	netRE       = regexp.MustCompile(`^net/`)
 | 
			
		||||
	bracesRE    = regexp.MustCompile(`{.*}`)
 | 
			
		||||
	ctlTypeRE   = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`)
 | 
			
		||||
	fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func debug(s string) {
 | 
			
		||||
	if debugEnabled {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, s)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Walk the MIB and build a sysctl name to OID mapping.
 | 
			
		||||
func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) {
 | 
			
		||||
	lNode := pNode // local copy of pointer to node
 | 
			
		||||
	var keys []string
 | 
			
		||||
	for k := range *lNode {
 | 
			
		||||
		keys = append(keys, k)
 | 
			
		||||
	}
 | 
			
		||||
	sort.Strings(keys)
 | 
			
		||||
 | 
			
		||||
	for _, key := range keys {
 | 
			
		||||
		nodename := name
 | 
			
		||||
		if name != "" {
 | 
			
		||||
			nodename += "."
 | 
			
		||||
		}
 | 
			
		||||
		nodename += key
 | 
			
		||||
 | 
			
		||||
		nodeoid := append(oid, (*pNode)[key].n)
 | 
			
		||||
 | 
			
		||||
		if (*pNode)[key].t == `CTLTYPE_NODE` {
 | 
			
		||||
			if _, ok := nodeMap[nodename]; ok {
 | 
			
		||||
				lNode = &mib
 | 
			
		||||
				ctlName := nodeMap[nodename]
 | 
			
		||||
				for _, part := range strings.Split(ctlName, ".") {
 | 
			
		||||
					lNode = ((*lNode)[part]).pE
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				lNode = (*pNode)[key].pE
 | 
			
		||||
			}
 | 
			
		||||
			buildSysctl(lNode, nodename, nodeoid)
 | 
			
		||||
		} else if (*pNode)[key].t != "" {
 | 
			
		||||
			oidStr := []string{}
 | 
			
		||||
			for j := range nodeoid {
 | 
			
		||||
				oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j]))
 | 
			
		||||
			}
 | 
			
		||||
			text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n"
 | 
			
		||||
			sysCtl = append(sysCtl, text)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	// Get the OS (using GOOS_TARGET if it exist)
 | 
			
		||||
	goos = os.Getenv("GOOS_TARGET")
 | 
			
		||||
	if goos == "" {
 | 
			
		||||
		goos = os.Getenv("GOOS")
 | 
			
		||||
	}
 | 
			
		||||
	// Get the architecture (using GOARCH_TARGET if it exists)
 | 
			
		||||
	goarch = os.Getenv("GOARCH_TARGET")
 | 
			
		||||
	if goarch == "" {
 | 
			
		||||
		goarch = os.Getenv("GOARCH")
 | 
			
		||||
	}
 | 
			
		||||
	// Check if GOOS and GOARCH environment variables are defined
 | 
			
		||||
	if goarch == "" || goos == "" {
 | 
			
		||||
		fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n")
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mib = make(map[string]nodeElement)
 | 
			
		||||
	headers := [...]string{
 | 
			
		||||
		`sys/sysctl.h`,
 | 
			
		||||
		`sys/socket.h`,
 | 
			
		||||
		`sys/tty.h`,
 | 
			
		||||
		`sys/malloc.h`,
 | 
			
		||||
		`sys/mount.h`,
 | 
			
		||||
		`sys/namei.h`,
 | 
			
		||||
		`sys/sem.h`,
 | 
			
		||||
		`sys/shm.h`,
 | 
			
		||||
		`sys/vmmeter.h`,
 | 
			
		||||
		`uvm/uvmexp.h`,
 | 
			
		||||
		`uvm/uvm_param.h`,
 | 
			
		||||
		`uvm/uvm_swap_encrypt.h`,
 | 
			
		||||
		`ddb/db_var.h`,
 | 
			
		||||
		`net/if.h`,
 | 
			
		||||
		`net/if_pfsync.h`,
 | 
			
		||||
		`net/pipex.h`,
 | 
			
		||||
		`netinet/in.h`,
 | 
			
		||||
		`netinet/icmp_var.h`,
 | 
			
		||||
		`netinet/igmp_var.h`,
 | 
			
		||||
		`netinet/ip_ah.h`,
 | 
			
		||||
		`netinet/ip_carp.h`,
 | 
			
		||||
		`netinet/ip_divert.h`,
 | 
			
		||||
		`netinet/ip_esp.h`,
 | 
			
		||||
		`netinet/ip_ether.h`,
 | 
			
		||||
		`netinet/ip_gre.h`,
 | 
			
		||||
		`netinet/ip_ipcomp.h`,
 | 
			
		||||
		`netinet/ip_ipip.h`,
 | 
			
		||||
		`netinet/pim_var.h`,
 | 
			
		||||
		`netinet/tcp_var.h`,
 | 
			
		||||
		`netinet/udp_var.h`,
 | 
			
		||||
		`netinet6/in6.h`,
 | 
			
		||||
		`netinet6/ip6_divert.h`,
 | 
			
		||||
		`netinet6/pim6_var.h`,
 | 
			
		||||
		`netinet/icmp6.h`,
 | 
			
		||||
		`netmpls/mpls.h`,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ctls := [...]string{
 | 
			
		||||
		`kern`,
 | 
			
		||||
		`vm`,
 | 
			
		||||
		`fs`,
 | 
			
		||||
		`net`,
 | 
			
		||||
		//debug			/* Special handling required */
 | 
			
		||||
		`hw`,
 | 
			
		||||
		//machdep		/* Arch specific */
 | 
			
		||||
		`user`,
 | 
			
		||||
		`ddb`,
 | 
			
		||||
		//vfs			/* Special handling required */
 | 
			
		||||
		`fs.posix`,
 | 
			
		||||
		`kern.forkstat`,
 | 
			
		||||
		`kern.intrcnt`,
 | 
			
		||||
		`kern.malloc`,
 | 
			
		||||
		`kern.nchstats`,
 | 
			
		||||
		`kern.seminfo`,
 | 
			
		||||
		`kern.shminfo`,
 | 
			
		||||
		`kern.timecounter`,
 | 
			
		||||
		`kern.tty`,
 | 
			
		||||
		`kern.watchdog`,
 | 
			
		||||
		`net.bpf`,
 | 
			
		||||
		`net.ifq`,
 | 
			
		||||
		`net.inet`,
 | 
			
		||||
		`net.inet.ah`,
 | 
			
		||||
		`net.inet.carp`,
 | 
			
		||||
		`net.inet.divert`,
 | 
			
		||||
		`net.inet.esp`,
 | 
			
		||||
		`net.inet.etherip`,
 | 
			
		||||
		`net.inet.gre`,
 | 
			
		||||
		`net.inet.icmp`,
 | 
			
		||||
		`net.inet.igmp`,
 | 
			
		||||
		`net.inet.ip`,
 | 
			
		||||
		`net.inet.ip.ifq`,
 | 
			
		||||
		`net.inet.ipcomp`,
 | 
			
		||||
		`net.inet.ipip`,
 | 
			
		||||
		`net.inet.mobileip`,
 | 
			
		||||
		`net.inet.pfsync`,
 | 
			
		||||
		`net.inet.pim`,
 | 
			
		||||
		`net.inet.tcp`,
 | 
			
		||||
		`net.inet.udp`,
 | 
			
		||||
		`net.inet6`,
 | 
			
		||||
		`net.inet6.divert`,
 | 
			
		||||
		`net.inet6.ip6`,
 | 
			
		||||
		`net.inet6.icmp6`,
 | 
			
		||||
		`net.inet6.pim6`,
 | 
			
		||||
		`net.inet6.tcp6`,
 | 
			
		||||
		`net.inet6.udp6`,
 | 
			
		||||
		`net.mpls`,
 | 
			
		||||
		`net.mpls.ifq`,
 | 
			
		||||
		`net.key`,
 | 
			
		||||
		`net.pflow`,
 | 
			
		||||
		`net.pfsync`,
 | 
			
		||||
		`net.pipex`,
 | 
			
		||||
		`net.rt`,
 | 
			
		||||
		`vm.swapencrypt`,
 | 
			
		||||
		//vfsgenctl		/* Special handling required */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Node name "fixups"
 | 
			
		||||
	ctlMap := map[string]string{
 | 
			
		||||
		"ipproto":             "net.inet",
 | 
			
		||||
		"net.inet.ipproto":    "net.inet",
 | 
			
		||||
		"net.inet6.ipv6proto": "net.inet6",
 | 
			
		||||
		"net.inet6.ipv6":      "net.inet6.ip6",
 | 
			
		||||
		"net.inet.icmpv6":     "net.inet6.icmp6",
 | 
			
		||||
		"net.inet6.divert6":   "net.inet6.divert",
 | 
			
		||||
		"net.inet6.tcp6":      "net.inet.tcp",
 | 
			
		||||
		"net.inet6.udp6":      "net.inet.udp",
 | 
			
		||||
		"mpls":                "net.mpls",
 | 
			
		||||
		"swpenc":              "vm.swapencrypt",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Node mappings
 | 
			
		||||
	nodeMap = map[string]string{
 | 
			
		||||
		"net.inet.ip.ifq": "net.ifq",
 | 
			
		||||
		"net.inet.pfsync": "net.pfsync",
 | 
			
		||||
		"net.mpls.ifq":    "net.ifq",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mCtls := make(map[string]bool)
 | 
			
		||||
	for _, ctl := range ctls {
 | 
			
		||||
		mCtls[ctl] = true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, header := range headers {
 | 
			
		||||
		debug("Processing " + header)
 | 
			
		||||
		file, err := os.Open(filepath.Join("/usr/include", header))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Fprintf(os.Stderr, "%v\n", err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		s := bufio.NewScanner(file)
 | 
			
		||||
		for s.Scan() {
 | 
			
		||||
			var sub []string
 | 
			
		||||
			if reMatch(ctlNames1RE, s.Text(), &sub) ||
 | 
			
		||||
				reMatch(ctlNames2RE, s.Text(), &sub) ||
 | 
			
		||||
				reMatch(ctlNames3RE, s.Text(), &sub) {
 | 
			
		||||
				if sub[1] == `CTL_NAMES` {
 | 
			
		||||
					// Top level.
 | 
			
		||||
					node = &mib
 | 
			
		||||
				} else {
 | 
			
		||||
					// Node.
 | 
			
		||||
					nodename := strings.ToLower(sub[2])
 | 
			
		||||
					ctlName := ""
 | 
			
		||||
					if reMatch(netInetRE, header, &sub) {
 | 
			
		||||
						ctlName = "net.inet." + nodename
 | 
			
		||||
					} else if reMatch(netInet6RE, header, &sub) {
 | 
			
		||||
						ctlName = "net.inet6." + nodename
 | 
			
		||||
					} else if reMatch(netRE, header, &sub) {
 | 
			
		||||
						ctlName = "net." + nodename
 | 
			
		||||
					} else {
 | 
			
		||||
						ctlName = nodename
 | 
			
		||||
						ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`)
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if val, ok := ctlMap[ctlName]; ok {
 | 
			
		||||
						ctlName = val
 | 
			
		||||
					}
 | 
			
		||||
					if _, ok := mCtls[ctlName]; !ok {
 | 
			
		||||
						debug("Ignoring " + ctlName + "...")
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					// Walk down from the top of the MIB.
 | 
			
		||||
					node = &mib
 | 
			
		||||
					for _, part := range strings.Split(ctlName, ".") {
 | 
			
		||||
						if _, ok := (*node)[part]; !ok {
 | 
			
		||||
							debug("Missing node " + part)
 | 
			
		||||
							(*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}}
 | 
			
		||||
						}
 | 
			
		||||
						node = (*node)[part].pE
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// Populate current node with entries.
 | 
			
		||||
				i := -1
 | 
			
		||||
				for !strings.HasPrefix(s.Text(), "}") {
 | 
			
		||||
					s.Scan()
 | 
			
		||||
					if reMatch(bracesRE, s.Text(), &sub) {
 | 
			
		||||
						i++
 | 
			
		||||
					}
 | 
			
		||||
					if !reMatch(ctlTypeRE, s.Text(), &sub) {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
					(*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		err = s.Err()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Fprintf(os.Stderr, "%v\n", err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		file.Close()
 | 
			
		||||
	}
 | 
			
		||||
	buildSysctl(&mib, "", []int{})
 | 
			
		||||
 | 
			
		||||
	sort.Strings(sysCtl)
 | 
			
		||||
	text := strings.Join(sysCtl, "")
 | 
			
		||||
 | 
			
		||||
	fmt.Printf(srcTemplate, cmdLine(), buildTags(), text)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const srcTemplate = `// %s
 | 
			
		||||
// Code generated by the command above; DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// +build %s
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
type mibentry struct {
 | 
			
		||||
	ctlname string
 | 
			
		||||
	ctloid []_C_int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var sysctlMib = []mibentry {
 | 
			
		||||
%s
 | 
			
		||||
}
 | 
			
		||||
`
 | 
			
		||||
| 
						 | 
				
			
			@ -1,265 +0,0 @@
 | 
			
		|||
#!/usr/bin/env perl
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
 | 
			
		||||
#
 | 
			
		||||
# Build a MIB with each entry being an array containing the level, type and
 | 
			
		||||
# a hash that will contain additional entries if the current entry is a node.
 | 
			
		||||
# We then walk this MIB and create a flattened sysctl name to OID hash.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
 | 
			
		||||
if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
 | 
			
		||||
	print STDERR "GOARCH or GOOS not defined in environment\n";
 | 
			
		||||
	exit 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $debug = 0;
 | 
			
		||||
my %ctls = ();
 | 
			
		||||
 | 
			
		||||
my @headers = qw (
 | 
			
		||||
	sys/sysctl.h
 | 
			
		||||
	sys/socket.h
 | 
			
		||||
	sys/tty.h
 | 
			
		||||
	sys/malloc.h
 | 
			
		||||
	sys/mount.h
 | 
			
		||||
	sys/namei.h
 | 
			
		||||
	sys/sem.h
 | 
			
		||||
	sys/shm.h
 | 
			
		||||
	sys/vmmeter.h
 | 
			
		||||
	uvm/uvmexp.h
 | 
			
		||||
	uvm/uvm_param.h
 | 
			
		||||
	uvm/uvm_swap_encrypt.h
 | 
			
		||||
	ddb/db_var.h
 | 
			
		||||
	net/if.h
 | 
			
		||||
	net/if_pfsync.h
 | 
			
		||||
	net/pipex.h
 | 
			
		||||
	netinet/in.h
 | 
			
		||||
	netinet/icmp_var.h
 | 
			
		||||
	netinet/igmp_var.h
 | 
			
		||||
	netinet/ip_ah.h
 | 
			
		||||
	netinet/ip_carp.h
 | 
			
		||||
	netinet/ip_divert.h
 | 
			
		||||
	netinet/ip_esp.h
 | 
			
		||||
	netinet/ip_ether.h
 | 
			
		||||
	netinet/ip_gre.h
 | 
			
		||||
	netinet/ip_ipcomp.h
 | 
			
		||||
	netinet/ip_ipip.h
 | 
			
		||||
	netinet/pim_var.h
 | 
			
		||||
	netinet/tcp_var.h
 | 
			
		||||
	netinet/udp_var.h
 | 
			
		||||
	netinet6/in6.h
 | 
			
		||||
	netinet6/ip6_divert.h
 | 
			
		||||
	netinet6/pim6_var.h
 | 
			
		||||
	netinet/icmp6.h
 | 
			
		||||
	netmpls/mpls.h
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
my @ctls = qw (
 | 
			
		||||
	kern
 | 
			
		||||
	vm
 | 
			
		||||
	fs
 | 
			
		||||
	net
 | 
			
		||||
	#debug				# Special handling required
 | 
			
		||||
	hw
 | 
			
		||||
	#machdep			# Arch specific
 | 
			
		||||
	user
 | 
			
		||||
	ddb
 | 
			
		||||
	#vfs				# Special handling required
 | 
			
		||||
	fs.posix
 | 
			
		||||
	kern.forkstat
 | 
			
		||||
	kern.intrcnt
 | 
			
		||||
	kern.malloc
 | 
			
		||||
	kern.nchstats
 | 
			
		||||
	kern.seminfo
 | 
			
		||||
	kern.shminfo
 | 
			
		||||
	kern.timecounter
 | 
			
		||||
	kern.tty
 | 
			
		||||
	kern.watchdog
 | 
			
		||||
	net.bpf
 | 
			
		||||
	net.ifq
 | 
			
		||||
	net.inet
 | 
			
		||||
	net.inet.ah
 | 
			
		||||
	net.inet.carp
 | 
			
		||||
	net.inet.divert
 | 
			
		||||
	net.inet.esp
 | 
			
		||||
	net.inet.etherip
 | 
			
		||||
	net.inet.gre
 | 
			
		||||
	net.inet.icmp
 | 
			
		||||
	net.inet.igmp
 | 
			
		||||
	net.inet.ip
 | 
			
		||||
	net.inet.ip.ifq
 | 
			
		||||
	net.inet.ipcomp
 | 
			
		||||
	net.inet.ipip
 | 
			
		||||
	net.inet.mobileip
 | 
			
		||||
	net.inet.pfsync
 | 
			
		||||
	net.inet.pim
 | 
			
		||||
	net.inet.tcp
 | 
			
		||||
	net.inet.udp
 | 
			
		||||
	net.inet6
 | 
			
		||||
	net.inet6.divert
 | 
			
		||||
	net.inet6.ip6
 | 
			
		||||
	net.inet6.icmp6
 | 
			
		||||
	net.inet6.pim6
 | 
			
		||||
	net.inet6.tcp6
 | 
			
		||||
	net.inet6.udp6
 | 
			
		||||
	net.mpls
 | 
			
		||||
	net.mpls.ifq
 | 
			
		||||
	net.key
 | 
			
		||||
	net.pflow
 | 
			
		||||
	net.pfsync
 | 
			
		||||
	net.pipex
 | 
			
		||||
	net.rt
 | 
			
		||||
	vm.swapencrypt
 | 
			
		||||
	#vfsgenctl			# Special handling required
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
# Node name "fixups"
 | 
			
		||||
my %ctl_map = (
 | 
			
		||||
	"ipproto" => "net.inet",
 | 
			
		||||
	"net.inet.ipproto" => "net.inet",
 | 
			
		||||
	"net.inet6.ipv6proto" => "net.inet6",
 | 
			
		||||
	"net.inet6.ipv6" => "net.inet6.ip6",
 | 
			
		||||
	"net.inet.icmpv6" => "net.inet6.icmp6",
 | 
			
		||||
	"net.inet6.divert6" => "net.inet6.divert",
 | 
			
		||||
	"net.inet6.tcp6" => "net.inet.tcp",
 | 
			
		||||
	"net.inet6.udp6" => "net.inet.udp",
 | 
			
		||||
	"mpls" => "net.mpls",
 | 
			
		||||
	"swpenc" => "vm.swapencrypt"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
# Node mappings
 | 
			
		||||
my %node_map = (
 | 
			
		||||
	"net.inet.ip.ifq" => "net.ifq",
 | 
			
		||||
	"net.inet.pfsync" => "net.pfsync",
 | 
			
		||||
	"net.mpls.ifq" => "net.ifq"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
my $ctlname;
 | 
			
		||||
my %mib = ();
 | 
			
		||||
my %sysctl = ();
 | 
			
		||||
my $node;
 | 
			
		||||
 | 
			
		||||
sub debug() {
 | 
			
		||||
	print STDERR "$_[0]\n" if $debug;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Walk the MIB and build a sysctl name to OID mapping.
 | 
			
		||||
sub build_sysctl() {
 | 
			
		||||
	my ($node, $name, $oid) = @_;
 | 
			
		||||
	my %node = %{$node};
 | 
			
		||||
	my @oid = @{$oid};
 | 
			
		||||
 | 
			
		||||
	foreach my $key (sort keys %node) {
 | 
			
		||||
		my @node = @{$node{$key}};
 | 
			
		||||
		my $nodename = $name.($name ne '' ? '.' : '').$key;
 | 
			
		||||
		my @nodeoid = (@oid, $node[0]);
 | 
			
		||||
		if ($node[1] eq 'CTLTYPE_NODE') {
 | 
			
		||||
			if (exists $node_map{$nodename}) {
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
				$ctlname = $node_map{$nodename};
 | 
			
		||||
				foreach my $part (split /\./, $ctlname) {
 | 
			
		||||
					$node = \%{@{$$node{$part}}[2]};
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				$node = $node[2];
 | 
			
		||||
			}
 | 
			
		||||
			&build_sysctl($node, $nodename, \@nodeoid);
 | 
			
		||||
		} elsif ($node[1] ne '') {
 | 
			
		||||
			$sysctl{$nodename} = \@nodeoid;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
foreach my $ctl (@ctls) {
 | 
			
		||||
	$ctls{$ctl} = $ctl;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Build MIB
 | 
			
		||||
foreach my $header (@headers) {
 | 
			
		||||
	&debug("Processing $header...");
 | 
			
		||||
	open HEADER, "/usr/include/$header" ||
 | 
			
		||||
	    print STDERR "Failed to open $header\n";
 | 
			
		||||
	while (<HEADER>) {
 | 
			
		||||
		if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ ||
 | 
			
		||||
		    $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ ||
 | 
			
		||||
		    $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) {
 | 
			
		||||
			if ($1 eq 'CTL_NAMES') {
 | 
			
		||||
				# Top level.
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
			} else {
 | 
			
		||||
				# Node.
 | 
			
		||||
				my $nodename = lc($2);
 | 
			
		||||
				if ($header =~ /^netinet\//) {
 | 
			
		||||
					$ctlname = "net.inet.$nodename";
 | 
			
		||||
				} elsif ($header =~ /^netinet6\//) {
 | 
			
		||||
					$ctlname = "net.inet6.$nodename";
 | 
			
		||||
				} elsif ($header =~ /^net\//) {
 | 
			
		||||
					$ctlname = "net.$nodename";
 | 
			
		||||
				} else {
 | 
			
		||||
					$ctlname = "$nodename";
 | 
			
		||||
					$ctlname =~ s/^(fs|net|kern)_/$1\./;
 | 
			
		||||
				}
 | 
			
		||||
				if (exists $ctl_map{$ctlname}) {
 | 
			
		||||
					$ctlname = $ctl_map{$ctlname};
 | 
			
		||||
				}
 | 
			
		||||
				if (not exists $ctls{$ctlname}) {
 | 
			
		||||
					&debug("Ignoring $ctlname...");
 | 
			
		||||
					next;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				# Walk down from the top of the MIB.
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
				foreach my $part (split /\./, $ctlname) {
 | 
			
		||||
					if (not exists $$node{$part}) {
 | 
			
		||||
						&debug("Missing node $part");
 | 
			
		||||
						$$node{$part} = [ 0, '', {} ];
 | 
			
		||||
					}
 | 
			
		||||
					$node = \%{@{$$node{$part}}[2]};
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			# Populate current node with entries.
 | 
			
		||||
			my $i = -1;
 | 
			
		||||
			while (defined($_) && $_ !~ /^}/) {
 | 
			
		||||
				$_ = <HEADER>;
 | 
			
		||||
				$i++ if $_ =~ /{.*}/;
 | 
			
		||||
				next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/;
 | 
			
		||||
				$$node{$1} = [ $i, $2, {} ];
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	close HEADER;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
&build_sysctl(\%mib, "", []);
 | 
			
		||||
 | 
			
		||||
print <<EOF;
 | 
			
		||||
// mksysctl_openbsd.pl
 | 
			
		||||
// Code generated by the command above; DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
 | 
			
		||||
 | 
			
		||||
package unix;
 | 
			
		||||
 | 
			
		||||
type mibentry struct {
 | 
			
		||||
	ctlname string
 | 
			
		||||
	ctloid []_C_int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var sysctlMib = []mibentry {
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
foreach my $name (sort keys %sysctl) {
 | 
			
		||||
	my @oid = @{$sysctl{$name}};
 | 
			
		||||
	print "\t{ \"$name\", []_C_int{ ", join(', ', @oid), " } }, \n";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print <<EOF;
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +139,7 @@ func main() {
 | 
			
		|||
				text += format(name, num, proto)
 | 
			
		||||
			}
 | 
			
		||||
		case "freebsd":
 | 
			
		||||
			if t.Match(`^([0-9]+)\s+\S+\s+(?:NO)?STD\s+({ \S+\s+(\w+).*)$`) {
 | 
			
		||||
			if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD|COMPAT10)\s+({ \S+\s+(\w+).*)$`) {
 | 
			
		||||
				num, proto := t.sub[1], t.sub[2]
 | 
			
		||||
				name := fmt.Sprintf("SYS_%s", t.sub[3])
 | 
			
		||||
				text += format(name, num, proto)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,6 @@
 | 
			
		|||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build openbsd
 | 
			
		||||
// +build 386 amd64 arm
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build aix dragonfly freebsd linux netbsd openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return Getdents(fd, buf)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "unsafe"
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// 64 bits should be enough. (32 bits isn't even on 386). Since the
 | 
			
		||||
	// actual system call is getdirentries64, 64 is a good guess.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
 | 
			
		||||
	return Getdirentries(fd, buf, base)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -18,15 +18,18 @@ func cmsgAlignOf(salen int) int {
 | 
			
		|||
	salign := SizeofPtr
 | 
			
		||||
 | 
			
		||||
	switch runtime.GOOS {
 | 
			
		||||
	case "darwin", "dragonfly", "solaris":
 | 
			
		||||
		// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
 | 
			
		||||
		// Solaris kernels still require 32-bit aligned access to
 | 
			
		||||
		// network subsystem.
 | 
			
		||||
	case "aix":
 | 
			
		||||
		// There is no alignment on AIX.
 | 
			
		||||
		salign = 1
 | 
			
		||||
	case "darwin", "dragonfly", "solaris", "illumos":
 | 
			
		||||
		// NOTE: It seems like 64-bit Darwin, DragonFly BSD,
 | 
			
		||||
		// illumos, and Solaris kernels still require 32-bit
 | 
			
		||||
		// aligned access to network subsystem.
 | 
			
		||||
		if SizeofPtr == 8 {
 | 
			
		||||
			salign = 4
 | 
			
		||||
		}
 | 
			
		||||
	case "openbsd":
 | 
			
		||||
		// OpenBSD armv7 requires 64-bit alignment.
 | 
			
		||||
	case "netbsd", "openbsd":
 | 
			
		||||
		// NetBSD and OpenBSD armv7 require 64-bit alignment.
 | 
			
		||||
		if runtime.GOARCH == "arm" {
 | 
			
		||||
			salign = 8
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,5 +50,4 @@ func BytePtrFromString(s string) (*byte, error) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// Single-word zero for use when we need a valid pointer to 0 bytes.
 | 
			
		||||
// See mkunix.pl.
 | 
			
		||||
var _zero uintptr
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -280,8 +280,24 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		|||
	return -1, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	getdirent(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
func Getdents(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return getdirent(fd, buf)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -444,8 +460,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		|||
//sysnb	Times(tms *Tms) (ticks uintptr, err error)
 | 
			
		||||
//sysnb	Umask(mask int) (oldmask int)
 | 
			
		||||
//sysnb	Uname(buf *Utsname) (err error)
 | 
			
		||||
//TODO umount
 | 
			
		||||
// //sys	Unmount(target string, flags int) (err error) = umount
 | 
			
		||||
//sys   Unlink(path string) (err error)
 | 
			
		||||
//sys   Unlinkat(dirfd int, path string, flags int) (err error)
 | 
			
		||||
//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
 | 
			
		||||
| 
						 | 
				
			
			@ -456,8 +470,8 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		|||
//sys	Dup2(oldfd int, newfd int) (err error)
 | 
			
		||||
//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64
 | 
			
		||||
//sys	Fchown(fd int, uid int, gid int) (err error)
 | 
			
		||||
//sys	Fstat(fd int, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
 | 
			
		||||
//sys	fstat(fd int, stat *Stat_t) (err error)
 | 
			
		||||
//sys	fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
 | 
			
		||||
//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
| 
						 | 
				
			
			@ -466,18 +480,17 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		|||
//sysnb	Getuid() (uid int)
 | 
			
		||||
//sys	Lchown(path string, uid int, gid int) (err error)
 | 
			
		||||
//sys	Listen(s int, n int) (err error)
 | 
			
		||||
//sys	Lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Pause() (err error)
 | 
			
		||||
//sys	Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
 | 
			
		||||
//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
 | 
			
		||||
//TODO Select
 | 
			
		||||
// //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sys	Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
 | 
			
		||||
//sysnb	Setregid(rgid int, egid int) (err error)
 | 
			
		||||
//sysnb	Setreuid(ruid int, euid int) (err error)
 | 
			
		||||
//sys	Shutdown(fd int, how int) (err error)
 | 
			
		||||
//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
 | 
			
		||||
//sys	Stat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	stat(path string, statptr *Stat_t) (err error)
 | 
			
		||||
//sys	Statfs(path string, buf *Statfs_t) (err error)
 | 
			
		||||
//sys	Truncate(path string, length int64) (err error)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -493,8 +506,10 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		|||
//sysnb	getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
 | 
			
		||||
//sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
 | 
			
		||||
//sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
 | 
			
		||||
//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
 | 
			
		||||
//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
 | 
			
		||||
 | 
			
		||||
// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used.
 | 
			
		||||
//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg
 | 
			
		||||
//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg
 | 
			
		||||
 | 
			
		||||
//sys	munmap(addr uintptr, length uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -545,3 +560,14 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 | 
			
		|||
//sys	gettimeofday(tv *Timeval, tzp *Timezone) (err error)
 | 
			
		||||
//sysnb	Time(t *Time_t) (tt Time_t, err error)
 | 
			
		||||
//sys	Utime(path string, buf *Utimbuf) (err error)
 | 
			
		||||
 | 
			
		||||
//sys	Getsystemcfg(label int) (n uint64)
 | 
			
		||||
 | 
			
		||||
//sys	umount(target string) (err error)
 | 
			
		||||
func Unmount(target string, flags int) (err error) {
 | 
			
		||||
	if flags != 0 {
 | 
			
		||||
		// AIX doesn't have any flags for umount.
 | 
			
		||||
		return ENOSYS
 | 
			
		||||
	}
 | 
			
		||||
	return umount(target)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,3 +32,19 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		|||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) error {
 | 
			
		||||
	return fstat(fd, stat)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
 | 
			
		||||
	return fstatat(dirfd, path, stat, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) error {
 | 
			
		||||
	return lstat(path, stat)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Stat(path string, statptr *Stat_t) error {
 | 
			
		||||
	return stat(path, statptr)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,3 +32,50 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		|||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// In order to only have Timespec structure, type of Stat_t's fields
 | 
			
		||||
// Atim, Mtim and Ctim is changed from StTimespec to Timespec during
 | 
			
		||||
// ztypes generation.
 | 
			
		||||
// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an
 | 
			
		||||
// int32, so the fields' value must be modified.
 | 
			
		||||
func fixStatTimFields(stat *Stat_t) {
 | 
			
		||||
	stat.Atim.Nsec >>= 32
 | 
			
		||||
	stat.Mtim.Nsec >>= 32
 | 
			
		||||
	stat.Ctim.Nsec >>= 32
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) error {
 | 
			
		||||
	err := fstat(fd, stat)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
 | 
			
		||||
	err := fstatat(dirfd, path, stat, flags)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) error {
 | 
			
		||||
	err := lstat(path, stat)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Stat(path string, statptr *Stat_t) error {
 | 
			
		||||
	err := stat(path, statptr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(statptr)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,15 +63,6 @@ func Setgroups(gids []int) (err error) {
 | 
			
		|||
	return setgroups(len(a), &a[0])
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// 64 bits should be enough. (32 bits isn't even on 386). Since the
 | 
			
		||||
	// actual system call is getdirentries64, 64 is a good guess.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
 | 
			
		||||
	return Getdirentries(fd, buf, base)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Wait status is 7 bits at bottom, either 0 (exited),
 | 
			
		||||
// 0x7F (stopped), or a signal number that caused an exit.
 | 
			
		||||
// The 0x80 bit is whether there was a core dump.
 | 
			
		||||
| 
						 | 
				
			
			@ -86,6 +77,7 @@ const (
 | 
			
		|||
	shift = 8
 | 
			
		||||
 | 
			
		||||
	exited  = 0
 | 
			
		||||
	killed  = 9
 | 
			
		||||
	stopped = 0x7F
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -112,6 +104,8 @@ func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
 | 
			
		|||
 | 
			
		||||
func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) StopSignal() syscall.Signal {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,6 +77,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		|||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
 | 
			
		||||
func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
 | 
			
		||||
func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }
 | 
			
		||||
| 
						 | 
				
			
			@ -144,6 +156,23 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (
 | 
			
		|||
 | 
			
		||||
//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	n := uintptr(SizeofClockinfo)
 | 
			
		||||
	var ci Clockinfo
 | 
			
		||||
	if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if n != SizeofClockinfo {
 | 
			
		||||
		return nil, EIO
 | 
			
		||||
	}
 | 
			
		||||
	return &ci, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb pipe() (r int, w int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,6 +57,22 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		|||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	namlen, ok := direntNamlen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return (16 + namlen + 1 + 7) &^ 7, true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb pipe() (r int, w int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
| 
						 | 
				
			
			@ -269,6 +285,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		|||
//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
 | 
			
		||||
//sys	Fsync(fd int) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sys	Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	Getdtablesize() (size int)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,6 +82,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		|||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
	return Pipe2(p, 0)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -362,7 +374,21 @@ func Getdents(fd int, buf []byte) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	if supportsABI(_ino64First) {
 | 
			
		||||
		return getdirentries_freebsd12(fd, buf, basep)
 | 
			
		||||
		if basep == nil || unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
			return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep)))
 | 
			
		||||
		}
 | 
			
		||||
		// The freebsd12 syscall needs a 64-bit base. On 32-bit machines
 | 
			
		||||
		// we can't just use the basep passed in. See #32498.
 | 
			
		||||
		var base uint64 = uint64(*basep)
 | 
			
		||||
		n, err = getdirentries_freebsd12(fd, buf, &base)
 | 
			
		||||
		*basep = uintptr(base)
 | 
			
		||||
		if base>>32 != 0 {
 | 
			
		||||
			// We can't stuff the base back into a uintptr, so any
 | 
			
		||||
			// future calls would be suspect. Generate an error.
 | 
			
		||||
			// EIO is allowed by getdirentries.
 | 
			
		||||
			err = EIO
 | 
			
		||||
		}
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// The old syscall entries are smaller than the new. Use 1/4 of the original
 | 
			
		||||
| 
						 | 
				
			
			@ -404,22 +430,22 @@ func roundup(x, y int) int {
 | 
			
		|||
 | 
			
		||||
func (s *Stat_t) convertFrom(old *stat_freebsd11_t) {
 | 
			
		||||
	*s = Stat_t{
 | 
			
		||||
		Dev:      uint64(old.Dev),
 | 
			
		||||
		Ino:      uint64(old.Ino),
 | 
			
		||||
		Nlink:    uint64(old.Nlink),
 | 
			
		||||
		Mode:     old.Mode,
 | 
			
		||||
		Uid:      old.Uid,
 | 
			
		||||
		Gid:      old.Gid,
 | 
			
		||||
		Rdev:     uint64(old.Rdev),
 | 
			
		||||
		Atim:     old.Atim,
 | 
			
		||||
		Mtim:     old.Mtim,
 | 
			
		||||
		Ctim:     old.Ctim,
 | 
			
		||||
		Birthtim: old.Birthtim,
 | 
			
		||||
		Size:     old.Size,
 | 
			
		||||
		Blocks:   old.Blocks,
 | 
			
		||||
		Blksize:  old.Blksize,
 | 
			
		||||
		Flags:    old.Flags,
 | 
			
		||||
		Gen:      uint64(old.Gen),
 | 
			
		||||
		Dev:     uint64(old.Dev),
 | 
			
		||||
		Ino:     uint64(old.Ino),
 | 
			
		||||
		Nlink:   uint64(old.Nlink),
 | 
			
		||||
		Mode:    old.Mode,
 | 
			
		||||
		Uid:     old.Uid,
 | 
			
		||||
		Gid:     old.Gid,
 | 
			
		||||
		Rdev:    uint64(old.Rdev),
 | 
			
		||||
		Atim:    old.Atim,
 | 
			
		||||
		Mtim:    old.Mtim,
 | 
			
		||||
		Ctim:    old.Ctim,
 | 
			
		||||
		Btim:    old.Btim,
 | 
			
		||||
		Size:    old.Size,
 | 
			
		||||
		Blocks:  old.Blocks,
 | 
			
		||||
		Blksize: old.Blksize,
 | 
			
		||||
		Flags:   old.Flags,
 | 
			
		||||
		Gen:     uint64(old.Gen),
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -507,6 +533,70 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		|||
	return sendfile(outfd, infd, offset, count)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	ptrace(request int, pid int, addr uintptr, data int) (err error)
 | 
			
		||||
 | 
			
		||||
func PtraceAttach(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_ATTACH, pid, 0, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceCont(pid int, signal int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_CONT, pid, 1, signal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceDetach(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_DETACH, pid, 1, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetRegs(pid int, regsout *Reg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
 | 
			
		||||
	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint(countin)}
 | 
			
		||||
	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
 | 
			
		||||
	return int(ioDesc.Len), err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceLwpEvents(pid int, enable int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_LWPEVENTS, pid, 0, enable)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceLwpInfo(pid int, info uintptr) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{})))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceSetRegs(pid int, regs *Reg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceSingleStep(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_SINGLESTEP, pid, 1, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Exposed directly
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -555,7 +645,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		|||
//sys	Fsync(fd int) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sys	getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error)
 | 
			
		||||
//sys	Getdtablesize() (size int)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
//sysnb	Geteuid() (uid int)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@ package unix
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"net"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +38,20 @@ func Creat(path string, mode uint32) (fd int, err error) {
 | 
			
		|||
	return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	FanotifyInit(flags uint, event_f_flags uint) (fd int, err error)
 | 
			
		||||
//sys	fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error)
 | 
			
		||||
 | 
			
		||||
func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) {
 | 
			
		||||
	if pathname == "" {
 | 
			
		||||
		return fanotifyMark(fd, flags, mask, dirFd, nil)
 | 
			
		||||
	}
 | 
			
		||||
	p, err := BytePtrFromString(pathname)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return fanotifyMark(fd, flags, mask, dirFd, p)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	fchmodat(dirfd int, path string, mode uint32) (err error)
 | 
			
		||||
 | 
			
		||||
func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		||||
| 
						 | 
				
			
			@ -95,6 +108,12 @@ func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		|||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetUint32(fd int, req uint) (uint32, error) {
 | 
			
		||||
	var value uint32
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
| 
						 | 
				
			
			@ -745,7 +764,7 @@ const px_proto_oe = 0
 | 
			
		|||
 | 
			
		||||
type SockaddrPPPoE struct {
 | 
			
		||||
	SID    uint16
 | 
			
		||||
	Remote net.HardwareAddr
 | 
			
		||||
	Remote []byte
 | 
			
		||||
	Dev    string
 | 
			
		||||
	raw    RawSockaddrPPPoX
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -896,7 +915,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		|||
		}
 | 
			
		||||
		sa := &SockaddrPPPoE{
 | 
			
		||||
			SID:    binary.BigEndian.Uint16(pp[6:8]),
 | 
			
		||||
			Remote: net.HardwareAddr(pp[8:14]),
 | 
			
		||||
			Remote: pp[8:14],
 | 
			
		||||
		}
 | 
			
		||||
		for i := 14; i < 14+IFNAMSIZ; i++ {
 | 
			
		||||
			if pp[i] == 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -990,10 +1009,50 @@ func GetsockoptString(fd, level, opt int) (string, error) {
 | 
			
		|||
	return string(buf[:vallen-1]), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
 | 
			
		||||
	var value TpacketStats
 | 
			
		||||
	vallen := _Socklen(SizeofTpacketStats)
 | 
			
		||||
	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) {
 | 
			
		||||
	var value TpacketStatsV3
 | 
			
		||||
	vallen := _Socklen(SizeofTpacketStatsV3)
 | 
			
		||||
	err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a
 | 
			
		||||
// socket to filter incoming packets.  See 'man 7 socket' for usage information.
 | 
			
		||||
func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error {
 | 
			
		||||
	var p unsafe.Pointer
 | 
			
		||||
	if len(filter) > 0 {
 | 
			
		||||
		p = unsafe.Pointer(&filter[0])
 | 
			
		||||
	}
 | 
			
		||||
	return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
 | 
			
		||||
 | 
			
		||||
// KeyctlInt calls keyctl commands in which each argument is an int.
 | 
			
		||||
| 
						 | 
				
			
			@ -1354,8 +1413,20 @@ func Reboot(cmd int) (err error) {
 | 
			
		|||
	return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return Getdents(fd, buf)
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	mount(source string, target string, fstype string, flags uintptr, data *byte) (err error)
 | 
			
		||||
| 
						 | 
				
			
			@ -1390,6 +1461,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		|||
//sys	Acct(path string) (err error)
 | 
			
		||||
//sys	AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)
 | 
			
		||||
//sys	Adjtimex(buf *Timex) (state int, err error)
 | 
			
		||||
//sys	Capget(hdr *CapUserHeader, data *CapUserData) (err error)
 | 
			
		||||
//sys	Capset(hdr *CapUserHeader, data *CapUserData) (err error)
 | 
			
		||||
//sys	Chdir(path string) (err error)
 | 
			
		||||
//sys	Chroot(path string) (err error)
 | 
			
		||||
//sys	ClockGetres(clockid int32, res *Timespec) (err error)
 | 
			
		||||
| 
						 | 
				
			
			@ -1477,9 +1550,13 @@ func Setgid(uid int) (err error) {
 | 
			
		|||
	return EOPNOTSUPP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
 | 
			
		||||
	return signalfd(fd, sigmask, _C__NSIG/8, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	Setpriority(which int, who int, prio int) (err error)
 | 
			
		||||
//sys	Setxattr(path string, attr string, data []byte, flags int) (err error)
 | 
			
		||||
//sys	Signalfd(fd int, mask *Sigset_t, flags int) = SYS_SIGNALFD4
 | 
			
		||||
//sys	signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4
 | 
			
		||||
//sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
 | 
			
		||||
//sys	Sync()
 | 
			
		||||
//sys	Syncfs(fd int) (err error)
 | 
			
		||||
| 
						 | 
				
			
			@ -1608,6 +1685,82 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		|||
	return EACCES
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
 | 
			
		||||
//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
 | 
			
		||||
 | 
			
		||||
// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
 | 
			
		||||
// originally tried to generate it via unix/linux/types.go with "type
 | 
			
		||||
// fileHandle C.struct_file_handle" but that generated empty structs
 | 
			
		||||
// for mips64 and mips64le. Instead, hard code it for now (it's the
 | 
			
		||||
// same everywhere else) until the mips64 generator issue is fixed.
 | 
			
		||||
type fileHandle struct {
 | 
			
		||||
	Bytes uint32
 | 
			
		||||
	Type  int32
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FileHandle represents the C struct file_handle used by
 | 
			
		||||
// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
 | 
			
		||||
// OpenByHandleAt).
 | 
			
		||||
type FileHandle struct {
 | 
			
		||||
	*fileHandle
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewFileHandle constructs a FileHandle.
 | 
			
		||||
func NewFileHandle(handleType int32, handle []byte) FileHandle {
 | 
			
		||||
	const hdrSize = unsafe.Sizeof(fileHandle{})
 | 
			
		||||
	buf := make([]byte, hdrSize+uintptr(len(handle)))
 | 
			
		||||
	copy(buf[hdrSize:], handle)
 | 
			
		||||
	fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
 | 
			
		||||
	fh.Type = handleType
 | 
			
		||||
	fh.Bytes = uint32(len(handle))
 | 
			
		||||
	return FileHandle{fh}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (fh *FileHandle) Size() int   { return int(fh.fileHandle.Bytes) }
 | 
			
		||||
func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
 | 
			
		||||
func (fh *FileHandle) Bytes() []byte {
 | 
			
		||||
	n := fh.Size()
 | 
			
		||||
	if n == 0 {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NameToHandleAt wraps the name_to_handle_at system call; it obtains
 | 
			
		||||
// a handle for a path name.
 | 
			
		||||
func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
 | 
			
		||||
	var mid _C_int
 | 
			
		||||
	// Try first with a small buffer, assuming the handle will
 | 
			
		||||
	// only be 32 bytes.
 | 
			
		||||
	size := uint32(32 + unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
	didResize := false
 | 
			
		||||
	for {
 | 
			
		||||
		buf := make([]byte, size)
 | 
			
		||||
		fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
 | 
			
		||||
		fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
		err = nameToHandleAt(dirfd, path, fh, &mid, flags)
 | 
			
		||||
		if err == EOVERFLOW {
 | 
			
		||||
			if didResize {
 | 
			
		||||
				// We shouldn't need to resize more than once
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
			didResize = true
 | 
			
		||||
			size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		return FileHandle{fh}, int(mid), nil
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
 | 
			
		||||
// file via a handle as previously returned by NameToHandleAt.
 | 
			
		||||
func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
 | 
			
		||||
	return openByHandleAt(mountFD, handle.fileHandle, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Unimplemented
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -1615,8 +1768,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		|||
// Alarm
 | 
			
		||||
// ArchPrctl
 | 
			
		||||
// Brk
 | 
			
		||||
// Capget
 | 
			
		||||
// Capset
 | 
			
		||||
// ClockNanosleep
 | 
			
		||||
// ClockSettime
 | 
			
		||||
// Clone
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,12 +19,18 @@ func setTimeval(sec, usec int64) Timeval {
 | 
			
		|||
	return Timeval{Sec: int32(sec), Usec: int32(usec)}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb	pipe(p *[2]_C_int) (err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
	if len(p) != 2 {
 | 
			
		||||
		return EINVAL
 | 
			
		||||
	}
 | 
			
		||||
	var pp [2]_C_int
 | 
			
		||||
	// Try pipe2 first for Android O, then try pipe for kernel 2.6.23.
 | 
			
		||||
	err = pipe2(&pp, 0)
 | 
			
		||||
	if err == ENOSYS {
 | 
			
		||||
		err = pipe(&pp)
 | 
			
		||||
	}
 | 
			
		||||
	p[0] = int(pp[0])
 | 
			
		||||
	p[1] = int(pp[1])
 | 
			
		||||
	return
 | 
			
		||||
| 
						 | 
				
			
			@ -266,3 +272,16 @@ func SyncFileRange(fd int, off int64, n int64, flags int) error {
 | 
			
		|||
	// order of their arguments.
 | 
			
		||||
	return armSyncFileRange(fd, flags, off, n)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
 | 
			
		||||
 | 
			
		||||
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
 | 
			
		||||
	cmdlineLen := len(cmdline)
 | 
			
		||||
	if cmdlineLen > 0 {
 | 
			
		||||
		// Account for the additional NULL byte added by
 | 
			
		||||
		// BytePtrFromString in kexecFileLoad. The kexec_file_load
 | 
			
		||||
		// syscall expects a NULL-terminated string.
 | 
			
		||||
		cmdlineLen++
 | 
			
		||||
	}
 | 
			
		||||
	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -208,3 +208,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 | 
			
		|||
	}
 | 
			
		||||
	return ppoll(&fds[0], len(fds), ts, nil)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
 | 
			
		||||
 | 
			
		||||
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
 | 
			
		||||
	cmdlineLen := len(cmdline)
 | 
			
		||||
	if cmdlineLen > 0 {
 | 
			
		||||
		// Account for the additional NULL byte added by
 | 
			
		||||
		// BytePtrFromString in kexecFileLoad. The kexec_file_load
 | 
			
		||||
		// syscall expects a NULL-terminated string.
 | 
			
		||||
		cmdlineLen++
 | 
			
		||||
	}
 | 
			
		||||
	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -211,3 +211,16 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 | 
			
		|||
func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
 | 
			
		||||
	return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
 | 
			
		||||
 | 
			
		||||
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
 | 
			
		||||
	cmdlineLen := len(cmdline)
 | 
			
		||||
	if cmdlineLen > 0 {
 | 
			
		||||
		// Account for the additional NULL byte added by
 | 
			
		||||
		// BytePtrFromString in kexecFileLoad. The kexec_file_load
 | 
			
		||||
		// syscall expects a NULL-terminated string.
 | 
			
		||||
		cmdlineLen++
 | 
			
		||||
	}
 | 
			
		||||
	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,6 +94,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		|||
	return mib, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -120,9 +132,30 @@ func Pipe(p []int) (err error) {
 | 
			
		|||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return getdents(fd, buf)
 | 
			
		||||
	n, err = Getdents(fd, buf)
 | 
			
		||||
	if err != nil || basep == nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var off int64
 | 
			
		||||
	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		*basep = ^uintptr(0)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	*basep = uintptr(off)
 | 
			
		||||
	if unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if off>>32 != 0 {
 | 
			
		||||
		// We can't stuff the offset back into a uintptr, so any
 | 
			
		||||
		// future calls would be suspect. Generate an error.
 | 
			
		||||
		// EIO is allowed by getdirentries.
 | 
			
		||||
		err = EIO
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ImplementsGetwd = true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,35 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		|||
	return nil, EINVAL
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	n := uintptr(SizeofClockinfo)
 | 
			
		||||
	var ci Clockinfo
 | 
			
		||||
	if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if n != SizeofClockinfo {
 | 
			
		||||
		return nil, EIO
 | 
			
		||||
	}
 | 
			
		||||
	return &ci, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SysctlUvmexp(name string) (*Uvmexp, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -72,9 +101,30 @@ func Pipe(p []int) (err error) {
 | 
			
		|||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return getdents(fd, buf)
 | 
			
		||||
	n, err = Getdents(fd, buf)
 | 
			
		||||
	if err != nil || basep == nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var off int64
 | 
			
		||||
	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		*basep = ^uintptr(0)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	*basep = uintptr(off)
 | 
			
		||||
	if unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if off>>32 != 0 {
 | 
			
		||||
		// We can't stuff the offset back into a uintptr, so any
 | 
			
		||||
		// future calls would be suspect. Generate an error.
 | 
			
		||||
		// EIO was allowed by getdirentries.
 | 
			
		||||
		err = EIO
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ImplementsGetwd = true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build arm64,openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: sec, Nsec: nsec}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func setTimeval(sec, usec int64) Timeval {
 | 
			
		||||
	return Timeval{Sec: sec, Usec: usec}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetKevent(k *Kevent_t, fd, mode, flags int) {
 | 
			
		||||
	k.Ident = uint64(fd)
 | 
			
		||||
	k.Filter = int16(mode)
 | 
			
		||||
	k.Flags = uint16(flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (iov *Iovec) SetLen(length int) {
 | 
			
		||||
	iov.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
 | 
			
		||||
// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
 | 
			
		||||
const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
| 
						 | 
				
			
			@ -35,6 +35,22 @@ type SockaddrDatalink struct {
 | 
			
		|||
	raw    RawSockaddrDatalink
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb	pipe(p *[2]_C_int) (n int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
| 
						 | 
				
			
			@ -189,6 +205,7 @@ func Setgroups(gids []int) (err error) {
 | 
			
		|||
	return setgroups(len(a), &a[0])
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,11 @@ var (
 | 
			
		|||
	errENOENT error = syscall.ENOENT
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	signalNameMapOnce sync.Once
 | 
			
		||||
	signalNameMap     map[string]syscall.Signal
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// errnoErr returns common boxed Errno values, to prevent
 | 
			
		||||
// allocations at runtime.
 | 
			
		||||
func errnoErr(e syscall.Errno) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +71,19 @@ func SignalName(s syscall.Signal) string {
 | 
			
		|||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SignalNum returns the syscall.Signal for signal named s,
 | 
			
		||||
// or 0 if a signal with such name is not found.
 | 
			
		||||
// The signal name should start with "SIG".
 | 
			
		||||
func SignalNum(s string) syscall.Signal {
 | 
			
		||||
	signalNameMapOnce.Do(func() {
 | 
			
		||||
		signalNameMap = make(map[string]syscall.Signal)
 | 
			
		||||
		for _, signal := range signalList {
 | 
			
		||||
			signalNameMap[signal.name] = signal.num
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	return signalNameMap[s]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
 | 
			
		||||
func clen(n []byte) int {
 | 
			
		||||
	i := bytes.IndexByte(n, 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -276,6 +294,13 @@ func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
 | 
			
		|||
	return &tv, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
 | 
			
		||||
	var n uint64
 | 
			
		||||
	vallen := _Socklen(8)
 | 
			
		||||
	err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
 | 
			
		||||
	return n, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
 | 
			
		||||
	var rsa RawSockaddrAny
 | 
			
		||||
	var len _Socklen = SizeofSockaddrAny
 | 
			
		||||
| 
						 | 
				
			
			@ -326,13 +351,21 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptString(fd, level, opt int, s string) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s)))
 | 
			
		||||
	var p unsafe.Pointer
 | 
			
		||||
	if len(s) > 0 {
 | 
			
		||||
		p = unsafe.Pointer(&[]byte(s)[0])
 | 
			
		||||
	}
 | 
			
		||||
	return setsockopt(fd, level, opt, p, uintptr(len(s)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Socket(domain, typ, proto int) (fd int, err error) {
 | 
			
		||||
	if domain == AF_INET6 && SocketDisableIPv6 {
 | 
			
		||||
		return -1, EAFNOSUPPORT
 | 
			
		||||
| 
						 | 
				
			
			@ -377,3 +410,22 @@ func SetNonblock(fd int, nonblocking bool) (err error) {
 | 
			
		|||
func Exec(argv0 string, argv []string, envv []string) error {
 | 
			
		||||
	return syscall.Exec(argv0, argv, envv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Lutimes sets the access and modification times tv on path. If path refers to
 | 
			
		||||
// a symlink, it is not dereferenced and the timestamps are set on the symlink.
 | 
			
		||||
// If tv is nil, the access and modification times are set to the current time.
 | 
			
		||||
// Otherwise tv must contain exactly 2 elements, with access time as the first
 | 
			
		||||
// element and modification time as the second element.
 | 
			
		||||
func Lutimes(path string, tv []Timeval) error {
 | 
			
		||||
	if tv == nil {
 | 
			
		||||
		return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW)
 | 
			
		||||
	}
 | 
			
		||||
	if len(tv) != 2 {
 | 
			
		||||
		return EINVAL
 | 
			
		||||
	}
 | 
			
		||||
	ts := []Timespec{
 | 
			
		||||
		NsecToTimespec(TimevalToNsec(tv[0])),
 | 
			
		||||
		NsecToTimespec(TimevalToNsec(tv[1])),
 | 
			
		||||
	}
 | 
			
		||||
	return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -87,8 +87,6 @@ type Mode_t C.mode_t
 | 
			
		|||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type StTimespec C.struct_st_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
type Timeval32 C.struct_timeval32
 | 
			
		||||
| 
						 | 
				
			
			@ -133,6 +131,8 @@ type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		|||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddrDatalink C.struct_sockaddr_dl
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
| 
						 | 
				
			
			@ -156,17 +156,18 @@ type Linger C.struct_linger
 | 
			
		|||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny   = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix  = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofLinger        = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq        = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq      = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofIPv6MTUInfo   = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofMsghdr        = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr       = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofICMPv6Filter  = C.sizeof_struct_icmp6_filter
 | 
			
		||||
	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny      = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
 | 
			
		||||
	SizeofLinger           = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq           = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofMsghdr           = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -275,3 +275,9 @@ const (
 | 
			
		|||
// uname
 | 
			
		||||
 | 
			
		||||
type Utsname C.struct_utsname
 | 
			
		||||
 | 
			
		||||
// Clockinfo
 | 
			
		||||
 | 
			
		||||
const SizeofClockinfo = C.sizeof_struct_clockinfo
 | 
			
		||||
 | 
			
		||||
type Clockinfo C.struct_clockinfo
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -243,11 +243,55 @@ const (
 | 
			
		|||
// Ptrace requests
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PTRACE_TRACEME = C.PT_TRACE_ME
 | 
			
		||||
	PTRACE_CONT    = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_KILL    = C.PT_KILL
 | 
			
		||||
	PTRACE_ATTACH     = C.PT_ATTACH
 | 
			
		||||
	PTRACE_CONT       = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_DETACH     = C.PT_DETACH
 | 
			
		||||
	PTRACE_GETFPREGS  = C.PT_GETFPREGS
 | 
			
		||||
	PTRACE_GETFSBASE  = C.PT_GETFSBASE
 | 
			
		||||
	PTRACE_GETLWPLIST = C.PT_GETLWPLIST
 | 
			
		||||
	PTRACE_GETNUMLWPS = C.PT_GETNUMLWPS
 | 
			
		||||
	PTRACE_GETREGS    = C.PT_GETREGS
 | 
			
		||||
	PTRACE_GETXSTATE  = C.PT_GETXSTATE
 | 
			
		||||
	PTRACE_IO         = C.PT_IO
 | 
			
		||||
	PTRACE_KILL       = C.PT_KILL
 | 
			
		||||
	PTRACE_LWPEVENTS  = C.PT_LWP_EVENTS
 | 
			
		||||
	PTRACE_LWPINFO    = C.PT_LWPINFO
 | 
			
		||||
	PTRACE_SETFPREGS  = C.PT_SETFPREGS
 | 
			
		||||
	PTRACE_SETREGS    = C.PT_SETREGS
 | 
			
		||||
	PTRACE_SINGLESTEP = C.PT_STEP
 | 
			
		||||
	PTRACE_TRACEME    = C.PT_TRACE_ME
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PIOD_READ_D  = C.PIOD_READ_D
 | 
			
		||||
	PIOD_WRITE_D = C.PIOD_WRITE_D
 | 
			
		||||
	PIOD_READ_I  = C.PIOD_READ_I
 | 
			
		||||
	PIOD_WRITE_I = C.PIOD_WRITE_I
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PL_FLAG_BORN   = C.PL_FLAG_BORN
 | 
			
		||||
	PL_FLAG_EXITED = C.PL_FLAG_EXITED
 | 
			
		||||
	PL_FLAG_SI     = C.PL_FLAG_SI
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	TRAP_BRKPT = C.TRAP_BRKPT
 | 
			
		||||
	TRAP_TRACE = C.TRAP_TRACE
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo
 | 
			
		||||
 | 
			
		||||
type __Siginfo C.struct___siginfo
 | 
			
		||||
 | 
			
		||||
type Sigset_t C.sigset_t
 | 
			
		||||
 | 
			
		||||
type Reg C.struct_reg
 | 
			
		||||
 | 
			
		||||
type FpReg C.struct_fpreg
 | 
			
		||||
 | 
			
		||||
type PtraceIoDesc C.struct_ptrace_io_desc
 | 
			
		||||
 | 
			
		||||
// Events (kqueue, kevent)
 | 
			
		||||
 | 
			
		||||
type Kevent_t C.struct_kevent_freebsd11
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -254,6 +254,7 @@ type Ptmget C.struct_ptmget
 | 
			
		|||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -241,6 +241,7 @@ type Winsize C.struct_winsize
 | 
			
		|||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -274,3 +275,9 @@ type Utsname C.struct_utsname
 | 
			
		|||
const SizeofUvmexp = C.sizeof_struct_uvmexp
 | 
			
		||||
 | 
			
		||||
type Uvmexp C.struct_uvmexp
 | 
			
		||||
 | 
			
		||||
// Clockinfo
 | 
			
		||||
 | 
			
		||||
const SizeofClockinfo = C.sizeof_struct_clockinfo
 | 
			
		||||
 | 
			
		||||
type Clockinfo C.struct_clockinfo
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,6 @@
 | 
			
		|||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
| 
						 | 
				
			
			@ -926,6 +926,8 @@ const (
 | 
			
		|||
	TCSETSF                       = 0x5404
 | 
			
		||||
	TCSETSW                       = 0x5403
 | 
			
		||||
	TCXONC                        = 0x540b
 | 
			
		||||
	TIMER_ABSTIME                 = 0x3e7
 | 
			
		||||
	TIMER_MAX                     = 0x20
 | 
			
		||||
	TIOC                          = 0x5400
 | 
			
		||||
	TIOCCBRK                      = 0x2000747a
 | 
			
		||||
	TIOCCDTR                      = 0x20007478
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
 | 
			
		||||
// +build ppc64,aix
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- -maix64 _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
| 
						 | 
				
			
			@ -926,6 +926,8 @@ const (
 | 
			
		|||
	TCSETSF                       = 0x5404
 | 
			
		||||
	TCSETSW                       = 0x5403
 | 
			
		||||
	TCXONC                        = 0x540b
 | 
			
		||||
	TIMER_ABSTIME                 = 0x3e7
 | 
			
		||||
	TIMER_MAX                     = 0x20
 | 
			
		||||
	TIOC                          = 0x5400
 | 
			
		||||
	TIOCCBRK                      = 0x2000747a
 | 
			
		||||
	TIOCCDTR                      = 0x20007478
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80041270
 | 
			
		||||
	BLKBSZSET                            = 0x40041271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,6 +600,60 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -493,6 +661,7 @@ const (
 | 
			
		|||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FP_XSTATE_MAGIC2                     = 0x46505845
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -514,7 +683,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1006,6 +1175,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1134,7 +1312,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1398,6 +1576,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1435,6 +1619,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1905,6 +2090,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,6 +2139,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1964,9 +2152,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2059,6 +2255,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2232,6 +2430,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2259,8 +2458,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2409,6 +2610,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80081270
 | 
			
		||||
	BLKBSZSET                            = 0x40081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,6 +600,60 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -493,6 +661,7 @@ const (
 | 
			
		|||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FP_XSTATE_MAGIC2                     = 0x46505845
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -514,7 +683,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1006,6 +1175,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1134,7 +1312,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1398,6 +1576,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1435,6 +1619,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1906,6 +2091,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1954,6 +2140,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1965,9 +2153,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2060,6 +2256,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2233,6 +2431,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2260,8 +2459,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2409,6 +2610,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80041270
 | 
			
		||||
	BLKBSZSET                            = 0x40041271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1912,6 +2097,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1960,6 +2146,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1971,9 +2159,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2066,6 +2262,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2239,6 +2437,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2266,8 +2465,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2415,6 +2616,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80081270
 | 
			
		||||
	BLKBSZSET                            = 0x40081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -488,6 +602,60 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -495,6 +663,7 @@ const (
 | 
			
		|||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FPSIMD_MAGIC                         = 0x46508001
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -516,7 +685,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1007,6 +1176,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1135,7 +1313,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1399,6 +1577,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1436,6 +1620,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1896,6 +2081,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1944,6 +2130,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1955,9 +2143,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2051,6 +2247,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2224,6 +2422,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2251,8 +2450,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2400,6 +2601,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40041270
 | 
			
		||||
	BLKBSZSET                            = 0x80041271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x2000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x40000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1905,6 +2090,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x20
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,6 +2139,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x1004
 | 
			
		||||
	SO_RCVTIMEO                          = 0x1006
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x1006
 | 
			
		||||
	SO_REUSEADDR                         = 0x4
 | 
			
		||||
	SO_REUSEPORT                         = 0x200
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1964,10 +2152,18 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x1f
 | 
			
		||||
	SO_SNDLOWAT                          = 0x1003
 | 
			
		||||
	SO_SNDTIMEO                          = 0x1005
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x1005
 | 
			
		||||
	SO_STYLE                             = 0x1008
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x1008
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2059,6 +2255,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2234,6 +2432,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2261,8 +2460,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2411,6 +2612,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40081270
 | 
			
		||||
	BLKBSZSET                            = 0x80081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x2000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x40000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1905,6 +2090,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x20
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,6 +2139,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x1004
 | 
			
		||||
	SO_RCVTIMEO                          = 0x1006
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x1006
 | 
			
		||||
	SO_REUSEADDR                         = 0x4
 | 
			
		||||
	SO_REUSEPORT                         = 0x200
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1964,10 +2152,18 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x1f
 | 
			
		||||
	SO_SNDLOWAT                          = 0x1003
 | 
			
		||||
	SO_SNDTIMEO                          = 0x1005
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x1005
 | 
			
		||||
	SO_STYLE                             = 0x1008
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x1008
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2059,6 +2255,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2234,6 +2432,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2261,8 +2460,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2411,6 +2612,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40081270
 | 
			
		||||
	BLKBSZSET                            = 0x80081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x2000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x40000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1905,6 +2090,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x20
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,6 +2139,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x1004
 | 
			
		||||
	SO_RCVTIMEO                          = 0x1006
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x1006
 | 
			
		||||
	SO_REUSEADDR                         = 0x4
 | 
			
		||||
	SO_REUSEPORT                         = 0x200
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1964,10 +2152,18 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x1f
 | 
			
		||||
	SO_SNDLOWAT                          = 0x1003
 | 
			
		||||
	SO_SNDTIMEO                          = 0x1005
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x1005
 | 
			
		||||
	SO_STYLE                             = 0x1008
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x1008
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2059,6 +2255,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2234,6 +2432,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2261,8 +2460,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2411,6 +2612,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40041270
 | 
			
		||||
	BLKBSZSET                            = 0x80041271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x2000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x40000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1905,6 +2090,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x20
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,6 +2139,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x1004
 | 
			
		||||
	SO_RCVTIMEO                          = 0x1006
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x1006
 | 
			
		||||
	SO_REUSEADDR                         = 0x4
 | 
			
		||||
	SO_REUSEPORT                         = 0x200
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1964,10 +2152,18 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x1f
 | 
			
		||||
	SO_SNDLOWAT                          = 0x1003
 | 
			
		||||
	SO_SNDTIMEO                          = 0x1005
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x1005
 | 
			
		||||
	SO_STYLE                             = 0x1008
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x1008
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2059,6 +2255,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2234,6 +2432,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2261,8 +2460,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2411,6 +2612,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40081270
 | 
			
		||||
	BLKBSZSET                            = 0x80081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0xff
 | 
			
		||||
	CBAUDEX                              = 0x0
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x3000
 | 
			
		||||
	CREAD                                = 0x800
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x100
 | 
			
		||||
	CS7                                  = 0x200
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x4000
 | 
			
		||||
	FFDLY                                = 0x4000
 | 
			
		||||
	FLUSHO                               = 0x800000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1003,6 +1172,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x2000
 | 
			
		||||
	MCL_FUTURE                           = 0x4000
 | 
			
		||||
	MCL_ONFAULT                          = 0x8000
 | 
			
		||||
| 
						 | 
				
			
			@ -1131,7 +1309,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1398,6 +1576,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1435,6 +1619,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1963,6 +2148,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -2011,6 +2197,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x10
 | 
			
		||||
	SO_RCVTIMEO                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x12
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -2022,9 +2210,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x11
 | 
			
		||||
	SO_SNDTIMEO                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x13
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2115,6 +2311,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2294,6 +2492,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2321,8 +2520,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2470,6 +2671,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40081270
 | 
			
		||||
	BLKBSZSET                            = 0x80081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0xff
 | 
			
		||||
	CBAUDEX                              = 0x0
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x3000
 | 
			
		||||
	CREAD                                = 0x800
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x100
 | 
			
		||||
	CS7                                  = 0x200
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x4000
 | 
			
		||||
	FFDLY                                = 0x4000
 | 
			
		||||
	FLUSHO                               = 0x800000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1003,6 +1172,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x2000
 | 
			
		||||
	MCL_FUTURE                           = 0x4000
 | 
			
		||||
	MCL_ONFAULT                          = 0x8000
 | 
			
		||||
| 
						 | 
				
			
			@ -1131,7 +1309,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1398,6 +1576,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1435,6 +1619,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1963,6 +2148,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -2011,6 +2197,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x10
 | 
			
		||||
	SO_RCVTIMEO                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x12
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -2022,9 +2210,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x11
 | 
			
		||||
	SO_SNDTIMEO                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x13
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2115,6 +2311,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2294,6 +2492,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2321,8 +2520,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2470,6 +2671,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80081270
 | 
			
		||||
	BLKBSZSET                            = 0x40081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1893,6 +2078,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -1941,6 +2127,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -1952,9 +2140,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2047,6 +2243,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2220,6 +2418,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2247,8 +2446,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2396,6 +2597,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x80081270
 | 
			
		||||
	BLKBSZSET                            = 0x40081271
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +197,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -207,8 +257,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -222,20 +280,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +334,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +429,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -486,12 +600,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +682,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1173,15 @@ const (
 | 
			
		|||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_SYNC                             = 0x80000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x1
 | 
			
		||||
	MCL_FUTURE                           = 0x2
 | 
			
		||||
	MCL_ONFAULT                          = 0x4
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1310,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1396,6 +1574,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1433,6 +1617,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1966,6 +2151,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x33
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x34
 | 
			
		||||
	SO_BINDTODEVICE                      = 0x19
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x3e
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x30
 | 
			
		||||
	SO_BROADCAST                         = 0x6
 | 
			
		||||
	SO_BSDCOMPAT                         = 0xe
 | 
			
		||||
| 
						 | 
				
			
			@ -2014,6 +2200,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x21
 | 
			
		||||
	SO_RCVLOWAT                          = 0x12
 | 
			
		||||
	SO_RCVTIMEO                          = 0x14
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x42
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x14
 | 
			
		||||
	SO_REUSEADDR                         = 0x2
 | 
			
		||||
	SO_REUSEPORT                         = 0xf
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x28
 | 
			
		||||
| 
						 | 
				
			
			@ -2025,9 +2213,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x20
 | 
			
		||||
	SO_SNDLOWAT                          = 0x13
 | 
			
		||||
	SO_SNDTIMEO                          = 0x15
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x43
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x15
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x25
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x41
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x25
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x40
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x23
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x3f
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3d
 | 
			
		||||
	SO_TYPE                              = 0x3
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2120,6 +2316,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2293,6 +2491,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x800454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x800454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x800454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x400454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x400454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x800454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x400454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2320,8 +2519,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x40986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x40046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x51106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x40046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x400c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x40104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x40046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x40804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x4f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x40084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2469,6 +2670,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,6 +177,7 @@ const (
 | 
			
		|||
	B9600                                = 0xd
 | 
			
		||||
	BALLOON_KVM_MAGIC                    = 0x13661366
 | 
			
		||||
	BDEVFS_MAGIC                         = 0x62646576
 | 
			
		||||
	BINDERFS_SUPER_MAGIC                 = 0x6c6f6f70
 | 
			
		||||
	BINFMTFS_MAGIC                       = 0x42494e4d
 | 
			
		||||
	BLKBSZGET                            = 0x40081270
 | 
			
		||||
	BLKBSZSET                            = 0x80081271
 | 
			
		||||
| 
						 | 
				
			
			@ -199,10 +200,59 @@ const (
 | 
			
		|||
	BPF_ABS                              = 0x20
 | 
			
		||||
	BPF_ADD                              = 0x0
 | 
			
		||||
	BPF_ALU                              = 0x4
 | 
			
		||||
	BPF_ALU64                            = 0x7
 | 
			
		||||
	BPF_AND                              = 0x50
 | 
			
		||||
	BPF_ANY                              = 0x0
 | 
			
		||||
	BPF_ARSH                             = 0xc0
 | 
			
		||||
	BPF_B                                = 0x10
 | 
			
		||||
	BPF_BUILD_ID_SIZE                    = 0x14
 | 
			
		||||
	BPF_CALL                             = 0x80
 | 
			
		||||
	BPF_DEVCG_ACC_MKNOD                  = 0x1
 | 
			
		||||
	BPF_DEVCG_ACC_READ                   = 0x2
 | 
			
		||||
	BPF_DEVCG_ACC_WRITE                  = 0x4
 | 
			
		||||
	BPF_DEVCG_DEV_BLOCK                  = 0x1
 | 
			
		||||
	BPF_DEVCG_DEV_CHAR                   = 0x2
 | 
			
		||||
	BPF_DIV                              = 0x30
 | 
			
		||||
	BPF_DW                               = 0x18
 | 
			
		||||
	BPF_END                              = 0xd0
 | 
			
		||||
	BPF_EXIST                            = 0x2
 | 
			
		||||
	BPF_EXIT                             = 0x90
 | 
			
		||||
	BPF_FROM_BE                          = 0x8
 | 
			
		||||
	BPF_FROM_LE                          = 0x0
 | 
			
		||||
	BPF_FS_MAGIC                         = 0xcafe4a11
 | 
			
		||||
	BPF_F_ALLOW_MULTI                    = 0x2
 | 
			
		||||
	BPF_F_ALLOW_OVERRIDE                 = 0x1
 | 
			
		||||
	BPF_F_ANY_ALIGNMENT                  = 0x2
 | 
			
		||||
	BPF_F_CTXLEN_MASK                    = 0xfffff00000000
 | 
			
		||||
	BPF_F_CURRENT_CPU                    = 0xffffffff
 | 
			
		||||
	BPF_F_CURRENT_NETNS                  = -0x1
 | 
			
		||||
	BPF_F_DONT_FRAGMENT                  = 0x4
 | 
			
		||||
	BPF_F_FAST_STACK_CMP                 = 0x200
 | 
			
		||||
	BPF_F_HDR_FIELD_MASK                 = 0xf
 | 
			
		||||
	BPF_F_INDEX_MASK                     = 0xffffffff
 | 
			
		||||
	BPF_F_INGRESS                        = 0x1
 | 
			
		||||
	BPF_F_INVALIDATE_HASH                = 0x2
 | 
			
		||||
	BPF_F_LOCK                           = 0x4
 | 
			
		||||
	BPF_F_MARK_ENFORCE                   = 0x40
 | 
			
		||||
	BPF_F_MARK_MANGLED_0                 = 0x20
 | 
			
		||||
	BPF_F_NO_COMMON_LRU                  = 0x2
 | 
			
		||||
	BPF_F_NO_PREALLOC                    = 0x1
 | 
			
		||||
	BPF_F_NUMA_NODE                      = 0x4
 | 
			
		||||
	BPF_F_PSEUDO_HDR                     = 0x10
 | 
			
		||||
	BPF_F_QUERY_EFFECTIVE                = 0x1
 | 
			
		||||
	BPF_F_RDONLY                         = 0x8
 | 
			
		||||
	BPF_F_RECOMPUTE_CSUM                 = 0x1
 | 
			
		||||
	BPF_F_REUSE_STACKID                  = 0x400
 | 
			
		||||
	BPF_F_SEQ_NUMBER                     = 0x8
 | 
			
		||||
	BPF_F_SKIP_FIELD_MASK                = 0xff
 | 
			
		||||
	BPF_F_STACK_BUILD_ID                 = 0x20
 | 
			
		||||
	BPF_F_STRICT_ALIGNMENT               = 0x1
 | 
			
		||||
	BPF_F_TUNINFO_IPV6                   = 0x1
 | 
			
		||||
	BPF_F_USER_BUILD_ID                  = 0x800
 | 
			
		||||
	BPF_F_USER_STACK                     = 0x100
 | 
			
		||||
	BPF_F_WRONLY                         = 0x10
 | 
			
		||||
	BPF_F_ZERO_CSUM_TX                   = 0x2
 | 
			
		||||
	BPF_F_ZERO_SEED                      = 0x40
 | 
			
		||||
	BPF_H                                = 0x8
 | 
			
		||||
	BPF_IMM                              = 0x0
 | 
			
		||||
	BPF_IND                              = 0x40
 | 
			
		||||
| 
						 | 
				
			
			@ -210,8 +260,16 @@ const (
 | 
			
		|||
	BPF_JEQ                              = 0x10
 | 
			
		||||
	BPF_JGE                              = 0x30
 | 
			
		||||
	BPF_JGT                              = 0x20
 | 
			
		||||
	BPF_JLE                              = 0xb0
 | 
			
		||||
	BPF_JLT                              = 0xa0
 | 
			
		||||
	BPF_JMP                              = 0x5
 | 
			
		||||
	BPF_JMP32                            = 0x6
 | 
			
		||||
	BPF_JNE                              = 0x50
 | 
			
		||||
	BPF_JSET                             = 0x40
 | 
			
		||||
	BPF_JSGE                             = 0x70
 | 
			
		||||
	BPF_JSGT                             = 0x60
 | 
			
		||||
	BPF_JSLE                             = 0xd0
 | 
			
		||||
	BPF_JSLT                             = 0xc0
 | 
			
		||||
	BPF_K                                = 0x0
 | 
			
		||||
	BPF_LD                               = 0x0
 | 
			
		||||
	BPF_LDX                              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -225,20 +283,33 @@ const (
 | 
			
		|||
	BPF_MINOR_VERSION                    = 0x1
 | 
			
		||||
	BPF_MISC                             = 0x7
 | 
			
		||||
	BPF_MOD                              = 0x90
 | 
			
		||||
	BPF_MOV                              = 0xb0
 | 
			
		||||
	BPF_MSH                              = 0xa0
 | 
			
		||||
	BPF_MUL                              = 0x20
 | 
			
		||||
	BPF_NEG                              = 0x80
 | 
			
		||||
	BPF_NET_OFF                          = -0x100000
 | 
			
		||||
	BPF_NOEXIST                          = 0x1
 | 
			
		||||
	BPF_OBJ_NAME_LEN                     = 0x10
 | 
			
		||||
	BPF_OR                               = 0x40
 | 
			
		||||
	BPF_PSEUDO_CALL                      = 0x1
 | 
			
		||||
	BPF_PSEUDO_MAP_FD                    = 0x1
 | 
			
		||||
	BPF_RET                              = 0x6
 | 
			
		||||
	BPF_RSH                              = 0x70
 | 
			
		||||
	BPF_SOCK_OPS_ALL_CB_FLAGS            = 0x7
 | 
			
		||||
	BPF_SOCK_OPS_RETRANS_CB_FLAG         = 0x2
 | 
			
		||||
	BPF_SOCK_OPS_RTO_CB_FLAG             = 0x1
 | 
			
		||||
	BPF_SOCK_OPS_STATE_CB_FLAG           = 0x4
 | 
			
		||||
	BPF_ST                               = 0x2
 | 
			
		||||
	BPF_STX                              = 0x3
 | 
			
		||||
	BPF_SUB                              = 0x10
 | 
			
		||||
	BPF_TAG_SIZE                         = 0x8
 | 
			
		||||
	BPF_TAX                              = 0x0
 | 
			
		||||
	BPF_TO_BE                            = 0x8
 | 
			
		||||
	BPF_TO_LE                            = 0x0
 | 
			
		||||
	BPF_TXA                              = 0x80
 | 
			
		||||
	BPF_W                                = 0x0
 | 
			
		||||
	BPF_X                                = 0x8
 | 
			
		||||
	BPF_XADD                             = 0xc0
 | 
			
		||||
	BPF_XOR                              = 0xa0
 | 
			
		||||
	BRKINT                               = 0x2
 | 
			
		||||
	BS0                                  = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -266,6 +337,45 @@ const (
 | 
			
		|||
	CAN_SFF_MASK                         = 0x7ff
 | 
			
		||||
	CAN_TP16                             = 0x3
 | 
			
		||||
	CAN_TP20                             = 0x4
 | 
			
		||||
	CAP_AUDIT_CONTROL                    = 0x1e
 | 
			
		||||
	CAP_AUDIT_READ                       = 0x25
 | 
			
		||||
	CAP_AUDIT_WRITE                      = 0x1d
 | 
			
		||||
	CAP_BLOCK_SUSPEND                    = 0x24
 | 
			
		||||
	CAP_CHOWN                            = 0x0
 | 
			
		||||
	CAP_DAC_OVERRIDE                     = 0x1
 | 
			
		||||
	CAP_DAC_READ_SEARCH                  = 0x2
 | 
			
		||||
	CAP_FOWNER                           = 0x3
 | 
			
		||||
	CAP_FSETID                           = 0x4
 | 
			
		||||
	CAP_IPC_LOCK                         = 0xe
 | 
			
		||||
	CAP_IPC_OWNER                        = 0xf
 | 
			
		||||
	CAP_KILL                             = 0x5
 | 
			
		||||
	CAP_LAST_CAP                         = 0x25
 | 
			
		||||
	CAP_LEASE                            = 0x1c
 | 
			
		||||
	CAP_LINUX_IMMUTABLE                  = 0x9
 | 
			
		||||
	CAP_MAC_ADMIN                        = 0x21
 | 
			
		||||
	CAP_MAC_OVERRIDE                     = 0x20
 | 
			
		||||
	CAP_MKNOD                            = 0x1b
 | 
			
		||||
	CAP_NET_ADMIN                        = 0xc
 | 
			
		||||
	CAP_NET_BIND_SERVICE                 = 0xa
 | 
			
		||||
	CAP_NET_BROADCAST                    = 0xb
 | 
			
		||||
	CAP_NET_RAW                          = 0xd
 | 
			
		||||
	CAP_SETFCAP                          = 0x1f
 | 
			
		||||
	CAP_SETGID                           = 0x6
 | 
			
		||||
	CAP_SETPCAP                          = 0x8
 | 
			
		||||
	CAP_SETUID                           = 0x7
 | 
			
		||||
	CAP_SYSLOG                           = 0x22
 | 
			
		||||
	CAP_SYS_ADMIN                        = 0x15
 | 
			
		||||
	CAP_SYS_BOOT                         = 0x16
 | 
			
		||||
	CAP_SYS_CHROOT                       = 0x12
 | 
			
		||||
	CAP_SYS_MODULE                       = 0x10
 | 
			
		||||
	CAP_SYS_NICE                         = 0x17
 | 
			
		||||
	CAP_SYS_PACCT                        = 0x14
 | 
			
		||||
	CAP_SYS_PTRACE                       = 0x13
 | 
			
		||||
	CAP_SYS_RAWIO                        = 0x11
 | 
			
		||||
	CAP_SYS_RESOURCE                     = 0x18
 | 
			
		||||
	CAP_SYS_TIME                         = 0x19
 | 
			
		||||
	CAP_SYS_TTY_CONFIG                   = 0x1a
 | 
			
		||||
	CAP_WAKE_ALARM                       = 0x23
 | 
			
		||||
	CBAUD                                = 0x100f
 | 
			
		||||
	CBAUDEX                              = 0x1000
 | 
			
		||||
	CFLUSH                               = 0xf
 | 
			
		||||
| 
						 | 
				
			
			@ -322,6 +432,10 @@ const (
 | 
			
		|||
	CRDLY                                = 0x600
 | 
			
		||||
	CREAD                                = 0x80
 | 
			
		||||
	CRTSCTS                              = 0x80000000
 | 
			
		||||
	CRYPTO_MAX_NAME                      = 0x40
 | 
			
		||||
	CRYPTO_MSG_MAX                       = 0x15
 | 
			
		||||
	CRYPTO_NR_MSGTYPES                   = 0x6
 | 
			
		||||
	CRYPTO_REPORT_MAXSIZE                = 0x160
 | 
			
		||||
	CS5                                  = 0x0
 | 
			
		||||
	CS6                                  = 0x10
 | 
			
		||||
	CS7                                  = 0x20
 | 
			
		||||
| 
						 | 
				
			
			@ -490,12 +604,67 @@ const (
 | 
			
		|||
	FALLOC_FL_PUNCH_HOLE                 = 0x2
 | 
			
		||||
	FALLOC_FL_UNSHARE_RANGE              = 0x40
 | 
			
		||||
	FALLOC_FL_ZERO_RANGE                 = 0x10
 | 
			
		||||
	FANOTIFY_METADATA_VERSION            = 0x3
 | 
			
		||||
	FAN_ACCESS                           = 0x1
 | 
			
		||||
	FAN_ACCESS_PERM                      = 0x20000
 | 
			
		||||
	FAN_ALLOW                            = 0x1
 | 
			
		||||
	FAN_ALL_CLASS_BITS                   = 0xc
 | 
			
		||||
	FAN_ALL_EVENTS                       = 0x3b
 | 
			
		||||
	FAN_ALL_INIT_FLAGS                   = 0x3f
 | 
			
		||||
	FAN_ALL_MARK_FLAGS                   = 0xff
 | 
			
		||||
	FAN_ALL_OUTGOING_EVENTS              = 0x3403b
 | 
			
		||||
	FAN_ALL_PERM_EVENTS                  = 0x30000
 | 
			
		||||
	FAN_ATTRIB                           = 0x4
 | 
			
		||||
	FAN_AUDIT                            = 0x10
 | 
			
		||||
	FAN_CLASS_CONTENT                    = 0x4
 | 
			
		||||
	FAN_CLASS_NOTIF                      = 0x0
 | 
			
		||||
	FAN_CLASS_PRE_CONTENT                = 0x8
 | 
			
		||||
	FAN_CLOEXEC                          = 0x1
 | 
			
		||||
	FAN_CLOSE                            = 0x18
 | 
			
		||||
	FAN_CLOSE_NOWRITE                    = 0x10
 | 
			
		||||
	FAN_CLOSE_WRITE                      = 0x8
 | 
			
		||||
	FAN_CREATE                           = 0x100
 | 
			
		||||
	FAN_DELETE                           = 0x200
 | 
			
		||||
	FAN_DELETE_SELF                      = 0x400
 | 
			
		||||
	FAN_DENY                             = 0x2
 | 
			
		||||
	FAN_ENABLE_AUDIT                     = 0x40
 | 
			
		||||
	FAN_EVENT_INFO_TYPE_FID              = 0x1
 | 
			
		||||
	FAN_EVENT_METADATA_LEN               = 0x18
 | 
			
		||||
	FAN_EVENT_ON_CHILD                   = 0x8000000
 | 
			
		||||
	FAN_MARK_ADD                         = 0x1
 | 
			
		||||
	FAN_MARK_DONT_FOLLOW                 = 0x4
 | 
			
		||||
	FAN_MARK_FILESYSTEM                  = 0x100
 | 
			
		||||
	FAN_MARK_FLUSH                       = 0x80
 | 
			
		||||
	FAN_MARK_IGNORED_MASK                = 0x20
 | 
			
		||||
	FAN_MARK_IGNORED_SURV_MODIFY         = 0x40
 | 
			
		||||
	FAN_MARK_INODE                       = 0x0
 | 
			
		||||
	FAN_MARK_MOUNT                       = 0x10
 | 
			
		||||
	FAN_MARK_ONLYDIR                     = 0x8
 | 
			
		||||
	FAN_MARK_REMOVE                      = 0x2
 | 
			
		||||
	FAN_MODIFY                           = 0x2
 | 
			
		||||
	FAN_MOVE                             = 0xc0
 | 
			
		||||
	FAN_MOVED_FROM                       = 0x40
 | 
			
		||||
	FAN_MOVED_TO                         = 0x80
 | 
			
		||||
	FAN_MOVE_SELF                        = 0x800
 | 
			
		||||
	FAN_NOFD                             = -0x1
 | 
			
		||||
	FAN_NONBLOCK                         = 0x2
 | 
			
		||||
	FAN_ONDIR                            = 0x40000000
 | 
			
		||||
	FAN_OPEN                             = 0x20
 | 
			
		||||
	FAN_OPEN_EXEC                        = 0x1000
 | 
			
		||||
	FAN_OPEN_EXEC_PERM                   = 0x40000
 | 
			
		||||
	FAN_OPEN_PERM                        = 0x10000
 | 
			
		||||
	FAN_Q_OVERFLOW                       = 0x4000
 | 
			
		||||
	FAN_REPORT_FID                       = 0x200
 | 
			
		||||
	FAN_REPORT_TID                       = 0x100
 | 
			
		||||
	FAN_UNLIMITED_MARKS                  = 0x20
 | 
			
		||||
	FAN_UNLIMITED_QUEUE                  = 0x10
 | 
			
		||||
	FD_CLOEXEC                           = 0x1
 | 
			
		||||
	FD_SETSIZE                           = 0x400
 | 
			
		||||
	FF0                                  = 0x0
 | 
			
		||||
	FF1                                  = 0x8000
 | 
			
		||||
	FFDLY                                = 0x8000
 | 
			
		||||
	FLUSHO                               = 0x1000
 | 
			
		||||
	FS_ENCRYPTION_MODE_ADIANTUM          = 0x9
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
 | 
			
		||||
	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
 | 
			
		||||
| 
						 | 
				
			
			@ -517,7 +686,7 @@ const (
 | 
			
		|||
	FS_POLICY_FLAGS_PAD_4                = 0x0
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_8                = 0x1
 | 
			
		||||
	FS_POLICY_FLAGS_PAD_MASK             = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x3
 | 
			
		||||
	FS_POLICY_FLAGS_VALID                = 0x7
 | 
			
		||||
	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
 | 
			
		||||
	F_ADD_SEALS                          = 0x409
 | 
			
		||||
	F_DUPFD                              = 0x0
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,6 +1177,15 @@ const (
 | 
			
		|||
	MAP_SHARED_VALIDATE                  = 0x3
 | 
			
		||||
	MAP_STACK                            = 0x20000
 | 
			
		||||
	MAP_TYPE                             = 0xf
 | 
			
		||||
	MCAST_BLOCK_SOURCE                   = 0x2b
 | 
			
		||||
	MCAST_EXCLUDE                        = 0x0
 | 
			
		||||
	MCAST_INCLUDE                        = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP                     = 0x2a
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP              = 0x2e
 | 
			
		||||
	MCAST_LEAVE_GROUP                    = 0x2d
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP             = 0x2f
 | 
			
		||||
	MCAST_MSFILTER                       = 0x30
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE                 = 0x2c
 | 
			
		||||
	MCL_CURRENT                          = 0x2000
 | 
			
		||||
	MCL_FUTURE                           = 0x4000
 | 
			
		||||
	MCL_ONFAULT                          = 0x8000
 | 
			
		||||
| 
						 | 
				
			
			@ -1136,7 +1314,7 @@ const (
 | 
			
		|||
	NETLINK_UNUSED                       = 0x1
 | 
			
		||||
	NETLINK_USERSOCK                     = 0x2
 | 
			
		||||
	NETLINK_XFRM                         = 0x6
 | 
			
		||||
	NETNSA_MAX                           = 0x3
 | 
			
		||||
	NETNSA_MAX                           = 0x5
 | 
			
		||||
	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 | 
			
		||||
	NFNETLINK_V0                         = 0x0
 | 
			
		||||
	NFNLGRP_ACCT_QUOTA                   = 0x8
 | 
			
		||||
| 
						 | 
				
			
			@ -1400,6 +1578,12 @@ const (
 | 
			
		|||
	PR_MCE_KILL_SET                      = 0x1
 | 
			
		||||
	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
 | 
			
		||||
	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
 | 
			
		||||
	PR_PAC_APDAKEY                       = 0x4
 | 
			
		||||
	PR_PAC_APDBKEY                       = 0x8
 | 
			
		||||
	PR_PAC_APGAKEY                       = 0x10
 | 
			
		||||
	PR_PAC_APIAKEY                       = 0x1
 | 
			
		||||
	PR_PAC_APIBKEY                       = 0x2
 | 
			
		||||
	PR_PAC_RESET_KEYS                    = 0x36
 | 
			
		||||
	PR_SET_CHILD_SUBREAPER               = 0x24
 | 
			
		||||
	PR_SET_DUMPABLE                      = 0x4
 | 
			
		||||
	PR_SET_ENDIAN                        = 0x14
 | 
			
		||||
| 
						 | 
				
			
			@ -1437,6 +1621,7 @@ const (
 | 
			
		|||
	PR_SET_TSC                           = 0x1a
 | 
			
		||||
	PR_SET_UNALIGN                       = 0x6
 | 
			
		||||
	PR_SPEC_DISABLE                      = 0x4
 | 
			
		||||
	PR_SPEC_DISABLE_NOEXEC               = 0x10
 | 
			
		||||
	PR_SPEC_ENABLE                       = 0x2
 | 
			
		||||
	PR_SPEC_FORCE_DISABLE                = 0x8
 | 
			
		||||
	PR_SPEC_INDIRECT_BRANCH              = 0x1
 | 
			
		||||
| 
						 | 
				
			
			@ -1958,6 +2143,7 @@ const (
 | 
			
		|||
	SO_ATTACH_REUSEPORT_CBPF             = 0x35
 | 
			
		||||
	SO_ATTACH_REUSEPORT_EBPF             = 0x36
 | 
			
		||||
	SO_BINDTODEVICE                      = 0xd
 | 
			
		||||
	SO_BINDTOIFINDEX                     = 0x41
 | 
			
		||||
	SO_BPF_EXTENSIONS                    = 0x32
 | 
			
		||||
	SO_BROADCAST                         = 0x20
 | 
			
		||||
	SO_BSDCOMPAT                         = 0x400
 | 
			
		||||
| 
						 | 
				
			
			@ -2006,6 +2192,8 @@ const (
 | 
			
		|||
	SO_RCVBUFFORCE                       = 0x100b
 | 
			
		||||
	SO_RCVLOWAT                          = 0x800
 | 
			
		||||
	SO_RCVTIMEO                          = 0x2000
 | 
			
		||||
	SO_RCVTIMEO_NEW                      = 0x44
 | 
			
		||||
	SO_RCVTIMEO_OLD                      = 0x2000
 | 
			
		||||
	SO_REUSEADDR                         = 0x4
 | 
			
		||||
	SO_REUSEPORT                         = 0x200
 | 
			
		||||
	SO_RXQ_OVFL                          = 0x24
 | 
			
		||||
| 
						 | 
				
			
			@ -2017,9 +2205,17 @@ const (
 | 
			
		|||
	SO_SNDBUFFORCE                       = 0x100a
 | 
			
		||||
	SO_SNDLOWAT                          = 0x1000
 | 
			
		||||
	SO_SNDTIMEO                          = 0x4000
 | 
			
		||||
	SO_SNDTIMEO_NEW                      = 0x45
 | 
			
		||||
	SO_SNDTIMEO_OLD                      = 0x4000
 | 
			
		||||
	SO_TIMESTAMP                         = 0x1d
 | 
			
		||||
	SO_TIMESTAMPING                      = 0x23
 | 
			
		||||
	SO_TIMESTAMPING_NEW                  = 0x43
 | 
			
		||||
	SO_TIMESTAMPING_OLD                  = 0x23
 | 
			
		||||
	SO_TIMESTAMPNS                       = 0x21
 | 
			
		||||
	SO_TIMESTAMPNS_NEW                   = 0x42
 | 
			
		||||
	SO_TIMESTAMPNS_OLD                   = 0x21
 | 
			
		||||
	SO_TIMESTAMP_NEW                     = 0x46
 | 
			
		||||
	SO_TIMESTAMP_OLD                     = 0x1d
 | 
			
		||||
	SO_TXTIME                            = 0x3f
 | 
			
		||||
	SO_TYPE                              = 0x1008
 | 
			
		||||
	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 | 
			
		||||
| 
						 | 
				
			
			@ -2111,6 +2307,8 @@ const (
 | 
			
		|||
	TCOFLUSH                             = 0x1
 | 
			
		||||
	TCOOFF                               = 0x0
 | 
			
		||||
	TCOON                                = 0x1
 | 
			
		||||
	TCP_BPF_IW                           = 0x3e9
 | 
			
		||||
	TCP_BPF_SNDCWND_CLAMP                = 0x3ea
 | 
			
		||||
	TCP_CC_INFO                          = 0x1a
 | 
			
		||||
	TCP_CM_INQ                           = 0x24
 | 
			
		||||
	TCP_CONGESTION                       = 0xd
 | 
			
		||||
| 
						 | 
				
			
			@ -2282,6 +2480,7 @@ const (
 | 
			
		|||
	TUNGETVNETBE                         = 0x400454df
 | 
			
		||||
	TUNGETVNETHDRSZ                      = 0x400454d7
 | 
			
		||||
	TUNGETVNETLE                         = 0x400454dd
 | 
			
		||||
	TUNSETCARRIER                        = 0x800454e2
 | 
			
		||||
	TUNSETDEBUG                          = 0x800454c9
 | 
			
		||||
	TUNSETFILTEREBPF                     = 0x400454e1
 | 
			
		||||
	TUNSETGROUP                          = 0x800454ce
 | 
			
		||||
| 
						 | 
				
			
			@ -2309,8 +2508,10 @@ const (
 | 
			
		|||
	UBI_IOCMKVOL                         = 0x80986f00
 | 
			
		||||
	UBI_IOCRMVOL                         = 0x80046f01
 | 
			
		||||
	UBI_IOCRNVOL                         = 0x91106f03
 | 
			
		||||
	UBI_IOCRPEB                          = 0x80046f04
 | 
			
		||||
	UBI_IOCRSVOL                         = 0x800c6f02
 | 
			
		||||
	UBI_IOCSETVOLPROP                    = 0x80104f06
 | 
			
		||||
	UBI_IOCSPEB                          = 0x80046f05
 | 
			
		||||
	UBI_IOCVOLCRBLK                      = 0x80804f07
 | 
			
		||||
	UBI_IOCVOLRMBLK                      = 0x20004f08
 | 
			
		||||
	UBI_IOCVOLUP                         = 0x80084f00
 | 
			
		||||
| 
						 | 
				
			
			@ -2458,6 +2659,7 @@ const (
 | 
			
		|||
	XDP_FLAGS_SKB_MODE                   = 0x2
 | 
			
		||||
	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
 | 
			
		||||
	XDP_MMAP_OFFSETS                     = 0x1
 | 
			
		||||
	XDP_PACKET_HEADROOM                  = 0x100
 | 
			
		||||
	XDP_PGOFF_RX_RING                    = 0x0
 | 
			
		||||
	XDP_PGOFF_TX_RING                    = 0x80000000
 | 
			
		||||
	XDP_RX_RING                          = 0x2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t);
 | 
			
		|||
int pause();
 | 
			
		||||
int pread64(int, uintptr_t, size_t, long long);
 | 
			
		||||
int pwrite64(int, uintptr_t, size_t, long long);
 | 
			
		||||
#define c_select select
 | 
			
		||||
int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 | 
			
		||||
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 | 
			
		||||
int setregid(int, int);
 | 
			
		||||
int setreuid(int, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t);
 | 
			
		|||
int getsockname(int, uintptr_t, uintptr_t);
 | 
			
		||||
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
 | 
			
		||||
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
 | 
			
		||||
int recvmsg(int, uintptr_t, int);
 | 
			
		||||
int sendmsg(int, uintptr_t, int);
 | 
			
		||||
int nrecvmsg(int, uintptr_t, int);
 | 
			
		||||
int nsendmsg(int, uintptr_t, int);
 | 
			
		||||
int munmap(uintptr_t, uintptr_t);
 | 
			
		||||
int madvise(uintptr_t, size_t, int);
 | 
			
		||||
int mprotect(uintptr_t, size_t, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -118,6 +120,8 @@ int poll(uintptr_t, int, int);
 | 
			
		|||
int gettimeofday(uintptr_t, uintptr_t);
 | 
			
		||||
int time(uintptr_t);
 | 
			
		||||
int utime(uintptr_t, uintptr_t);
 | 
			
		||||
unsigned long long getsystemcfg(int);
 | 
			
		||||
int umount(uintptr_t);
 | 
			
		||||
int getrlimit64(int, uintptr_t);
 | 
			
		||||
int setrlimit64(int, uintptr_t);
 | 
			
		||||
long long lseek64(int, long long, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -855,7 +859,7 @@ func Fchown(fd int, uid int, gid int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		||||
func fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		||||
	r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
| 
						 | 
				
			
			@ -865,7 +869,7 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
 | 
			
		||||
func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
 | 
			
		||||
	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
 | 
			
		||||
	r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -949,7 +953,7 @@ func Listen(s int, n int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
func lstat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
 | 
			
		||||
	r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -1004,6 +1008,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
 | 
			
		||||
	r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
 | 
			
		||||
	r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask))))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1056,9 +1071,9 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Stat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
func stat(path string, statptr *Stat_t) (err error) {
 | 
			
		||||
	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
 | 
			
		||||
	r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
 | 
			
		||||
	r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr))))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1225,7 +1240,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
 | 
			
		|||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		||||
	r0, er := C.recvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
 | 
			
		||||
	r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
| 
						 | 
				
			
			@ -1236,7 +1251,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		|||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		||||
	r0, er := C.sendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
 | 
			
		||||
	r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
| 
						 | 
				
			
			@ -1409,6 +1424,25 @@ func Utime(path string, buf *Utimbuf) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getsystemcfg(label int) (n uint64) {
 | 
			
		||||
	r0, _ := C.getsystemcfg(C.int(label))
 | 
			
		||||
	n = uint64(r0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func umount(target string) (err error) {
 | 
			
		||||
	_p0 := uintptr(unsafe.Pointer(C.CString(target)))
 | 
			
		||||
	r0, er := C.umount(C.uintptr_t(_p0))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
		err = er
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
 | 
			
		||||
	r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
 | 
			
		||||
	if r0 == -1 && er != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -803,7 +803,7 @@ func Fchown(fd int, uid int, gid int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		||||
func fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		||||
	_, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
| 
						 | 
				
			
			@ -813,7 +813,7 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
 | 
			
		||||
func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -905,7 +905,7 @@ func Listen(s int, n int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
func lstat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -960,6 +960,17 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
 | 
			
		||||
	r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
 | 
			
		||||
	r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
| 
						 | 
				
			
			@ -1012,13 +1023,13 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Stat(path string, stat *Stat_t) (err error) {
 | 
			
		||||
func stat(path string, statptr *Stat_t) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)))
 | 
			
		||||
	_, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1189,7 +1200,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
 | 
			
		|||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		||||
	r0, e1 := callrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
 | 
			
		||||
	r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
| 
						 | 
				
			
			@ -1200,7 +1211,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		|||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 | 
			
		||||
	r0, e1 := callsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
 | 
			
		||||
	r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
| 
						 | 
				
			
			@ -1367,6 +1378,29 @@ func Utime(path string, buf *Utimbuf) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getsystemcfg(label int) (n uint64) {
 | 
			
		||||
	r0, _ := callgetsystemcfg(label)
 | 
			
		||||
	n = uint64(r0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func umount(target string) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(target)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, e1 := callumount(uintptr(unsafe.Pointer(_p0)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
 | 
			
		||||
	_, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,6 +85,7 @@ import (
 | 
			
		|||
//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o"
 | 
			
		||||
| 
						 | 
				
			
			@ -105,8 +106,8 @@ import (
 | 
			
		|||
//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o"
 | 
			
		||||
| 
						 | 
				
			
			@ -120,6 +121,8 @@ import (
 | 
			
		|||
//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
 | 
			
		||||
//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
 | 
			
		||||
| 
						 | 
				
			
			@ -200,6 +203,7 @@ import (
 | 
			
		|||
//go:linkname libc_pause libc_pause
 | 
			
		||||
//go:linkname libc_pread64 libc_pread64
 | 
			
		||||
//go:linkname libc_pwrite64 libc_pwrite64
 | 
			
		||||
//go:linkname libc_select libc_select
 | 
			
		||||
//go:linkname libc_pselect libc_pselect
 | 
			
		||||
//go:linkname libc_setregid libc_setregid
 | 
			
		||||
//go:linkname libc_setreuid libc_setreuid
 | 
			
		||||
| 
						 | 
				
			
			@ -220,8 +224,8 @@ import (
 | 
			
		|||
//go:linkname libc_getsockname libc_getsockname
 | 
			
		||||
//go:linkname libc_recvfrom libc_recvfrom
 | 
			
		||||
//go:linkname libc_sendto libc_sendto
 | 
			
		||||
//go:linkname libc_recvmsg libc_recvmsg
 | 
			
		||||
//go:linkname libc_sendmsg libc_sendmsg
 | 
			
		||||
//go:linkname libc_nrecvmsg libc_nrecvmsg
 | 
			
		||||
//go:linkname libc_nsendmsg libc_nsendmsg
 | 
			
		||||
//go:linkname libc_munmap libc_munmap
 | 
			
		||||
//go:linkname libc_madvise libc_madvise
 | 
			
		||||
//go:linkname libc_mprotect libc_mprotect
 | 
			
		||||
| 
						 | 
				
			
			@ -235,6 +239,8 @@ import (
 | 
			
		|||
//go:linkname libc_gettimeofday libc_gettimeofday
 | 
			
		||||
//go:linkname libc_time libc_time
 | 
			
		||||
//go:linkname libc_utime libc_utime
 | 
			
		||||
//go:linkname libc_getsystemcfg libc_getsystemcfg
 | 
			
		||||
//go:linkname libc_umount libc_umount
 | 
			
		||||
//go:linkname libc_getrlimit libc_getrlimit
 | 
			
		||||
//go:linkname libc_setrlimit libc_setrlimit
 | 
			
		||||
//go:linkname libc_lseek libc_lseek
 | 
			
		||||
| 
						 | 
				
			
			@ -318,6 +324,7 @@ var (
 | 
			
		|||
	libc_pause,
 | 
			
		||||
	libc_pread64,
 | 
			
		||||
	libc_pwrite64,
 | 
			
		||||
	libc_select,
 | 
			
		||||
	libc_pselect,
 | 
			
		||||
	libc_setregid,
 | 
			
		||||
	libc_setreuid,
 | 
			
		||||
| 
						 | 
				
			
			@ -338,8 +345,8 @@ var (
 | 
			
		|||
	libc_getsockname,
 | 
			
		||||
	libc_recvfrom,
 | 
			
		||||
	libc_sendto,
 | 
			
		||||
	libc_recvmsg,
 | 
			
		||||
	libc_sendmsg,
 | 
			
		||||
	libc_nrecvmsg,
 | 
			
		||||
	libc_nsendmsg,
 | 
			
		||||
	libc_munmap,
 | 
			
		||||
	libc_madvise,
 | 
			
		||||
	libc_mprotect,
 | 
			
		||||
| 
						 | 
				
			
			@ -353,6 +360,8 @@ var (
 | 
			
		|||
	libc_gettimeofday,
 | 
			
		||||
	libc_time,
 | 
			
		||||
	libc_utime,
 | 
			
		||||
	libc_getsystemcfg,
 | 
			
		||||
	libc_umount,
 | 
			
		||||
	libc_getrlimit,
 | 
			
		||||
	libc_setrlimit,
 | 
			
		||||
	libc_lseek,
 | 
			
		||||
| 
						 | 
				
			
			@ -890,6 +899,13 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask)
 | 
			
		||||
	return
 | 
			
		||||
| 
						 | 
				
			
			@ -925,8 +941,8 @@ func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, stat, 0, 0, 0, 0)
 | 
			
		||||
func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1030,15 +1046,15 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
 | 
			
		||||
func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
 | 
			
		||||
func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1135,6 +1151,20 @@ func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -83,6 +83,8 @@ int lstat(uintptr_t, uintptr_t);
 | 
			
		|||
int pause();
 | 
			
		||||
int pread64(int, uintptr_t, size_t, long long);
 | 
			
		||||
int pwrite64(int, uintptr_t, size_t, long long);
 | 
			
		||||
#define c_select select
 | 
			
		||||
int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 | 
			
		||||
int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 | 
			
		||||
int setregid(int, int);
 | 
			
		||||
int setreuid(int, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -103,8 +105,8 @@ int getpeername(int, uintptr_t, uintptr_t);
 | 
			
		|||
int getsockname(int, uintptr_t, uintptr_t);
 | 
			
		||||
int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
 | 
			
		||||
int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
 | 
			
		||||
int recvmsg(int, uintptr_t, int);
 | 
			
		||||
int sendmsg(int, uintptr_t, int);
 | 
			
		||||
int nrecvmsg(int, uintptr_t, int);
 | 
			
		||||
int nsendmsg(int, uintptr_t, int);
 | 
			
		||||
int munmap(uintptr_t, uintptr_t);
 | 
			
		||||
int madvise(uintptr_t, size_t, int);
 | 
			
		||||
int mprotect(uintptr_t, size_t, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -118,6 +120,8 @@ int poll(uintptr_t, int, int);
 | 
			
		|||
int gettimeofday(uintptr_t, uintptr_t);
 | 
			
		||||
int time(uintptr_t);
 | 
			
		||||
int utime(uintptr_t, uintptr_t);
 | 
			
		||||
unsigned long long getsystemcfg(int);
 | 
			
		||||
int umount(uintptr_t);
 | 
			
		||||
int getrlimit(int, uintptr_t);
 | 
			
		||||
int setrlimit(int, uintptr_t);
 | 
			
		||||
long long lseek(int, long long, int);
 | 
			
		||||
| 
						 | 
				
			
			@ -731,6 +735,14 @@ func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
| 
						 | 
				
			
			@ -771,8 +783,8 @@ func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(stat)))
 | 
			
		||||
func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -891,16 +903,16 @@ func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen u
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.recvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
 | 
			
		||||
func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.sendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
 | 
			
		||||
func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1011,6 +1023,22 @@ func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.getsystemcfg(C.int(label)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.umount(C.uintptr_t(_p0)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
 | 
			
		||||
	r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim)))
 | 
			
		||||
	e1 = syscall.GetErrno()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -749,6 +749,23 @@ func Ftruncate(fd int, length int64) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getdents(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		_p0 = unsafe.Pointer(&buf[0])
 | 
			
		||||
	} else {
 | 
			
		||||
		_p0 = unsafe.Pointer(&_zero)
 | 
			
		||||
	}
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -387,6 +387,16 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data int) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getcwd(buf []byte) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1029,7 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		_p0 = unsafe.Pointer(&buf[0])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -387,6 +387,16 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data int) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getcwd(buf []byte) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1029,7 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		_p0 = unsafe.Pointer(&buf[0])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -387,6 +387,16 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data int) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Getcwd(buf []byte) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1029,7 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		_p0 = unsafe.Pointer(&buf[0])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -404,6 +404,16 @@ func Getcwd(buf []byte) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data int) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func ioctl(fd int, req uint, arg uintptr) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -1019,7 +1029,7 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) {
 | 
			
		||||
	var _p0 unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		_p0 = unsafe.Pointer(&buf[0])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,27 @@ var _ syscall.Errno
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0)
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fchmodat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -387,6 +408,26 @@ func Adjtimex(buf *Timex) (state int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capget(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capset(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Chdir(path string) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -1360,8 +1401,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Signalfd(fd int, mask *Sigset_t, flags int) {
 | 
			
		||||
	SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
 | 
			
		||||
func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0)
 | 
			
		||||
	newfd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1658,6 +1703,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(pathname)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func pipe(p *[2]_C_int) (err error) {
 | 
			
		||||
	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,27 @@ var _ syscall.Errno
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0)
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fchmodat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -387,6 +408,26 @@ func Adjtimex(buf *Timex) (state int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capget(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capset(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Chdir(path string) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -1360,8 +1401,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Signalfd(fd int, mask *Sigset_t, flags int) {
 | 
			
		||||
	SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
 | 
			
		||||
func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0)
 | 
			
		||||
	newfd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1658,6 +1703,32 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(pathname)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Dup2(oldfd int, newfd int) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,27 @@ var _ syscall.Errno
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0)
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)))
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func fchmodat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -387,6 +408,26 @@ func Adjtimex(buf *Timex) (state int, err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capget(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Capset(hdr *CapUserHeader, data *CapUserData) (err error) {
 | 
			
		||||
	_, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Chdir(path string) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -1360,8 +1401,12 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func Signalfd(fd int, mask *Sigset_t, flags int) {
 | 
			
		||||
	SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags))
 | 
			
		||||
func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0)
 | 
			
		||||
	newfd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1658,6 +1703,42 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
 | 
			
		|||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(pathname)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) {
 | 
			
		||||
	r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags))
 | 
			
		||||
	fd = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func pipe(p *[2]_C_int) (err error) {
 | 
			
		||||
	_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func pipe2(p *[2]_C_int, flags int) (err error) {
 | 
			
		||||
	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -2309,3 +2390,18 @@ func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) {
 | 
			
		|||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | 
			
		||||
 | 
			
		||||
func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
 | 
			
		||||
	var _p0 *byte
 | 
			
		||||
	_p0, err = BytePtrFromString(cmdline)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue