vendor: update bazil.org/fuse to fix FreeBSD 12.1 - fixes #3697

This commit is contained in:
Nick Craig-Wood 2019-12-28 13:32:48 +00:00
parent 1b89b38a4c
commit 21b17b14a9
77 changed files with 38282 additions and 36267 deletions

4
go.mod
View file

@ -1,7 +1,7 @@
module github.com/rclone/rclone module github.com/rclone/rclone
require ( require (
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 bazil.org/fuse v0.0.0-20191225233854-3a99aca11732
cloud.google.com/go v0.47.0 // indirect cloud.google.com/go v0.47.0 // indirect
github.com/Azure/azure-pipeline-go v0.2.2 github.com/Azure/azure-pipeline-go v0.2.2
github.com/Azure/azure-storage-blob-go v0.8.0 github.com/Azure/azure-storage-blob-go v0.8.0
@ -61,7 +61,7 @@ require (
golang.org/x/net v0.0.0-20191109021931-daa7c04131f5 golang.org/x/net v0.0.0-20191109021931-daa7c04131f5
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 golang.org/x/sys v0.0.0-20191210023423-ac6580df4449
golang.org/x/text v0.3.2 golang.org/x/text v0.3.2
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 golang.org/x/time v0.0.0-20191024005414-555d28b269f0
google.golang.org/api v0.13.0 google.golang.org/api v0.13.0

5
go.sum
View file

@ -1,5 +1,7 @@
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw= bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw=
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
bazil.org/fuse v0.0.0-20191225233854-3a99aca11732 h1:gaB1+kZCJDExjlrdy37gIwxV0M7v81EzIFKQZ5o5YV0=
bazil.org/fuse v0.0.0-20191225233854-3a99aca11732/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@ -254,6 +256,7 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
github.com/t3rm1n4l/go-mega v0.0.0-20191014094753-e8695d78299a h1:9VwG6wBA1jd6oOCnmQ/OaKM1GRfChadtH5N3bx1oSKE= github.com/t3rm1n4l/go-mega v0.0.0-20191014094753-e8695d78299a h1:9VwG6wBA1jd6oOCnmQ/OaKM1GRfChadtH5N3bx1oSKE=
github.com/t3rm1n4l/go-mega v0.0.0-20191014094753-e8695d78299a/go.mod h1:XWL4vDyd3JKmJx+hZWUVgCNmmhZ2dTBcaNDcxH465s0= github.com/t3rm1n4l/go-mega v0.0.0-20191014094753-e8695d78299a/go.mod h1:XWL4vDyd3JKmJx+hZWUVgCNmmhZ2dTBcaNDcxH465s0=
github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70= github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
@ -346,6 +349,8 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 h1:dHtDnRWQtSx0Hjq9kvKFpBh9uPPKfQN70NZZmvssGwk= golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 h1:dHtDnRWQtSx0Hjq9kvKFpBh9uPPKfQN70NZZmvssGwk=
golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 h1:gSbV7h1NRL2G1xTg/owz62CST1oJBmxy4QpMMregXVQ=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=

2
vendor/bazil.org/fuse/LICENSE generated vendored
View file

@ -1,4 +1,4 @@
Copyright (c) 2013-2015 Tommi Virtanen. Copyright (c) 2013-2019 Tommi Virtanen.
Copyright (c) 2009, 2011, 2012 The Go Authors. Copyright (c) 2009, 2011, 2012 The Go Authors.
All rights reserved. All rights reserved.

20
vendor/bazil.org/fuse/fs/serve.go generated vendored
View file

@ -3,6 +3,8 @@
package fs // import "bazil.org/fuse/fs" package fs // import "bazil.org/fuse/fs"
import ( import (
"bytes"
"context"
"encoding/binary" "encoding/binary"
"fmt" "fmt"
"hash/fnv" "hash/fnv"
@ -14,12 +16,6 @@ import (
"sync" "sync"
"time" "time"
"golang.org/x/net/context"
)
import (
"bytes"
"bazil.org/fuse" "bazil.org/fuse"
"bazil.org/fuse/fuseutil" "bazil.org/fuse/fuseutil"
) )
@ -71,6 +67,9 @@ type FSInodeGenerator interface {
// //
// Implementing this is useful to e.g. constrain the range of // Implementing this is useful to e.g. constrain the range of
// inode values used for dynamic inodes. // inode values used for dynamic inodes.
//
// Non-zero return values should be greater than 1, as that is
// always used for the root inode.
GenerateInode(parentInode uint64, name string) uint64 GenerateInode(parentInode uint64, name string) uint64
} }
@ -435,8 +434,6 @@ func Serve(c *fuse.Conn, fs FS) error {
return server.Serve(fs) return server.Serve(fs)
} }
type nothing struct{}
type serveRequest struct { type serveRequest struct {
Request fuse.Request Request fuse.Request
cancel func() cancel func()
@ -1557,11 +1554,12 @@ func GenerateDynamicInode(parent uint64, name string) uint64 {
var inode uint64 var inode uint64
for { for {
inode = h.Sum64() inode = h.Sum64()
if inode != 0 { if inode > 1 {
break break
} }
// there's a tiny probability that result is zero; change the // there's a tiny probability that result is zero or the
// input a little and try again // hardcoded root inode 1; change the input a little and try
// again
_, _ = h.Write([]byte{'x'}) _, _ = h.Write([]byte{'x'})
} }
return inode return inode

5
vendor/bazil.org/fuse/fs/tree.go generated vendored
View file

@ -3,14 +3,11 @@
package fs package fs
import ( import (
"context"
"os" "os"
pathpkg "path" pathpkg "path"
"strings" "strings"
"golang.org/x/net/context"
)
import (
"bazil.org/fuse" "bazil.org/fuse"
) )

36
vendor/bazil.org/fuse/fuse.go generated vendored
View file

@ -495,9 +495,15 @@ func fileMode(unixMode uint32) os.FileMode {
mode |= os.ModeSymlink mode |= os.ModeSymlink
case syscall.S_IFSOCK: case syscall.S_IFSOCK:
mode |= os.ModeSocket mode |= os.ModeSocket
case 0:
// apparently there's plenty of times when the FUSE request
// does not contain the file type
mode |= os.ModeIrregular
default: default:
// no idea // not just unavailable in the kernel codepath; known to
mode |= os.ModeDevice // kernel but unrecognized by us
Debug(fmt.Sprintf("unrecognized file mode type: %04o", unixMode))
mode |= os.ModeIrregular
} }
if unixMode&syscall.S_ISUID != 0 { if unixMode&syscall.S_ISUID != 0 {
mode |= os.ModeSetuid mode |= os.ModeSetuid
@ -1004,7 +1010,12 @@ loop:
} }
case opBmap: case opBmap:
panic("opBmap") // bmap asks to map a byte offset within a file to a single
// uint64. On Linux, it triggers only with blkdev fuse mounts,
// that claim to be backed by an actual block device. FreeBSD
// seems to send it for just any fuse mount, whether there's a
// block device involved or not.
goto unrecognized
case opDestroy: case opDestroy:
req = &DestroyRequest{ req = &DestroyRequest{
@ -1384,8 +1395,6 @@ func (a *Attr) attr(out *attr, proto Protocol) {
if proto.GE(Protocol{7, 9}) { if proto.GE(Protocol{7, 9}) {
out.Blksize = a.BlockSize out.Blksize = a.BlockSize
} }
return
} }
// A GetattrRequest asks for the metadata for the file denoted by r.Node. // A GetattrRequest asks for the metadata for the file denoted by r.Node.
@ -1464,7 +1473,7 @@ type GetxattrResponse struct {
} }
func (r *GetxattrResponse) String() string { func (r *GetxattrResponse) String() string {
return fmt.Sprintf("Getxattr %x", r.Xattr) return fmt.Sprintf("Getxattr %q", r.Xattr)
} }
// A ListxattrRequest asks to list the extended attributes associated with r.Node. // A ListxattrRequest asks to list the extended attributes associated with r.Node.
@ -1500,7 +1509,7 @@ type ListxattrResponse struct {
} }
func (r *ListxattrResponse) String() string { func (r *ListxattrResponse) String() string {
return fmt.Sprintf("Listxattr %x", r.Xattr) return fmt.Sprintf("Listxattr %q", r.Xattr)
} }
// Append adds an extended attribute name to the response. // Append adds an extended attribute name to the response.
@ -1565,7 +1574,7 @@ func trunc(b []byte, max int) ([]byte, string) {
func (r *SetxattrRequest) String() string { func (r *SetxattrRequest) String() string {
xattr, tail := trunc(r.Xattr, 16) xattr, tail := trunc(r.Xattr, 16)
return fmt.Sprintf("Setxattr [%s] %q %x%s fl=%v @%#x", &r.Header, r.Name, xattr, tail, r.Flags, r.Position) return fmt.Sprintf("Setxattr [%s] %q %q%s fl=%v @%#x", &r.Header, r.Name, xattr, tail, r.Flags, r.Position)
} }
// Respond replies to the request, indicating that the extended attribute was set. // Respond replies to the request, indicating that the extended attribute was set.
@ -1986,9 +1995,14 @@ type SetattrRequest struct {
Size uint64 Size uint64
Atime time.Time Atime time.Time
Mtime time.Time Mtime time.Time
Mode os.FileMode // Mode is the file mode to set (when valid).
Uid uint32 //
Gid uint32 // The type of the node (as in os.ModeType, os.ModeDir etc) is not
// guaranteed to be sent by the kernel, in which case
// os.ModeIrregular will be set.
Mode os.FileMode
Uid uint32
Gid uint32
// OS X only // OS X only
Bkuptime time.Time Bkuptime time.Time

View file

@ -232,7 +232,7 @@ type OpenResponseFlags uint32
const ( const (
OpenDirectIO OpenResponseFlags = 1 << 0 // bypass page cache for this open file OpenDirectIO OpenResponseFlags = 1 << 0 // bypass page cache for this open file
OpenKeepCache OpenResponseFlags = 1 << 1 // don't invalidate the data cache on open OpenKeepCache OpenResponseFlags = 1 << 1 // don't invalidate the data cache on open
OpenNonSeekable OpenResponseFlags = 1 << 2 // mark the file as non-seekable (not supported on OS X) OpenNonSeekable OpenResponseFlags = 1 << 2 // mark the file as non-seekable (not supported on OS X or FreeBSD)
OpenPurgeAttr OpenResponseFlags = 1 << 30 // OS X OpenPurgeAttr OpenResponseFlags = 1 << 30 // OS X
OpenPurgeUBC OpenResponseFlags = 1 << 31 // OS X OpenPurgeUBC OpenResponseFlags = 1 << 31 // OS X

View file

@ -18,7 +18,7 @@ type attr struct {
Gid uint32 Gid uint32
Rdev uint32 Rdev uint32
Blksize uint32 Blksize uint32
padding uint32 _ uint32
} }
func (a *attr) Crtime() time.Time { func (a *attr) Crtime() time.Time {

8
vendor/bazil.org/fuse/go.mod generated vendored Normal file
View file

@ -0,0 +1,8 @@
module bazil.org/fuse
go 1.13
require (
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449
)

4
vendor/bazil.org/fuse/go.sum generated vendored Normal file
View file

@ -0,0 +1,4 @@
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ=
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 h1:gSbV7h1NRL2G1xTg/owz62CST1oJBmxy4QpMMregXVQ=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

11
vendor/bazil.org/fuse/options.go generated vendored
View file

@ -106,6 +106,14 @@ func NoAppleXattr() MountOption {
return noAppleXattr return noAppleXattr
} }
// NoBrowse makes OSXFUSE mark the volume as non-browsable, so that
// Finder won't automatically browse it.
//
// OS X only. Others ignore this option.
func NoBrowse() MountOption {
return noBrowse
}
// ExclCreate causes O_EXCL flag to be set for only "truly" exclusive creates, // ExclCreate causes O_EXCL flag to be set for only "truly" exclusive creates,
// i.e. create calls for which the initiator explicitly set the O_EXCL flag. // i.e. create calls for which the initiator explicitly set the O_EXCL flag.
// //
@ -155,7 +163,8 @@ func AllowOther() MountOption {
} }
} }
// AllowRoot allows other users to access the file system. // AllowRoot allows root (but not just everyone) to access the file
// system.
// //
// Only one of AllowOther or AllowRoot can be used. // Only one of AllowOther or AllowRoot can be used.
// //

View file

@ -33,3 +33,8 @@ func exclCreate(conf *mountConfig) error {
conf.options["excl_create"] = "" conf.options["excl_create"] = ""
return nil return nil
} }
func noBrowse(conf *mountConfig) error {
conf.options["nobrowse"] = ""
return nil
}

View file

@ -26,3 +26,7 @@ func noAppleDouble(conf *mountConfig) error {
func exclCreate(conf *mountConfig) error { func exclCreate(conf *mountConfig) error {
return nil return nil
} }
func noBrowse(conf *mountConfig) error {
return nil
}

View file

@ -23,3 +23,7 @@ func noAppleDouble(conf *mountConfig) error {
func exclCreate(conf *mountConfig) error { func exclCreate(conf *mountConfig) error {
return nil return nil
} }
func noBrowse(conf *mountConfig) error {
return nil
}

134
vendor/golang.org/x/sys/cpu/cpu_arm64.go generated vendored Normal file
View file

@ -0,0 +1,134 @@
// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cpu
import "runtime"
const cacheLineSize = 64
func init() {
switch runtime.GOOS {
case "darwin":
// iOS does not seem to allow reading these registers
case "android", "linux":
doinit()
default:
readARM64Registers()
}
}
func readARM64Registers() {
Initialized = true
// ID_AA64ISAR0_EL1
isar0 := getisar0()
switch extractBits(isar0, 4, 7) {
case 1:
ARM64.HasAES = true
case 2:
ARM64.HasAES = true
ARM64.HasPMULL = true
}
switch extractBits(isar0, 8, 11) {
case 1:
ARM64.HasSHA1 = true
}
switch extractBits(isar0, 12, 15) {
case 1:
ARM64.HasSHA2 = true
case 2:
ARM64.HasSHA2 = true
ARM64.HasSHA512 = true
}
switch extractBits(isar0, 16, 19) {
case 1:
ARM64.HasCRC32 = true
}
switch extractBits(isar0, 20, 23) {
case 2:
ARM64.HasATOMICS = true
}
switch extractBits(isar0, 28, 31) {
case 1:
ARM64.HasASIMDRDM = true
}
switch extractBits(isar0, 32, 35) {
case 1:
ARM64.HasSHA3 = true
}
switch extractBits(isar0, 36, 39) {
case 1:
ARM64.HasSM3 = true
}
switch extractBits(isar0, 40, 43) {
case 1:
ARM64.HasSM4 = true
}
switch extractBits(isar0, 44, 47) {
case 1:
ARM64.HasASIMDDP = true
}
// ID_AA64ISAR1_EL1
isar1 := getisar1()
switch extractBits(isar1, 0, 3) {
case 1:
ARM64.HasDCPOP = true
}
switch extractBits(isar1, 12, 15) {
case 1:
ARM64.HasJSCVT = true
}
switch extractBits(isar1, 16, 19) {
case 1:
ARM64.HasFCMA = true
}
switch extractBits(isar1, 20, 23) {
case 1:
ARM64.HasLRCPC = true
}
// ID_AA64PFR0_EL1
pfr0 := getpfr0()
switch extractBits(pfr0, 16, 19) {
case 0:
ARM64.HasFP = true
case 1:
ARM64.HasFP = true
ARM64.HasFPHP = true
}
switch extractBits(pfr0, 20, 23) {
case 0:
ARM64.HasASIMD = true
case 1:
ARM64.HasASIMD = true
ARM64.HasASIMDHP = true
}
switch extractBits(pfr0, 32, 35) {
case 1:
ARM64.HasSVE = true
}
}
func extractBits(data uint64, start, end uint) uint {
return (uint)(data>>start) & ((1 << (end - start + 1)) - 1)
}

31
vendor/golang.org/x/sys/cpu/cpu_arm64.s generated vendored Normal file
View file

@ -0,0 +1,31 @@
// 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"
// func getisar0() uint64
TEXT ·getisar0(SB),NOSPLIT,$0-8
// get Instruction Set Attributes 0 into x0
// mrs x0, ID_AA64ISAR0_EL1 = d5380600
WORD $0xd5380600
MOVD R0, ret+0(FP)
RET
// func getisar1() uint64
TEXT ·getisar1(SB),NOSPLIT,$0-8
// get Instruction Set Attributes 1 into x0
// mrs x0, ID_AA64ISAR1_EL1 = d5380620
WORD $0xd5380620
MOVD R0, ret+0(FP)
RET
// func getpfr0() uint64
TEXT ·getpfr0(SB),NOSPLIT,$0-8
// get Processor Feature Register 0 into x0
// mrs x0, ID_AA64PFR0_EL1 = d5380400
WORD $0xd5380400
MOVD R0, ret+0(FP)
RET

11
vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go generated vendored Normal file
View file

@ -0,0 +1,11 @@
// 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
package cpu
func getisar0() uint64
func getisar1() uint64
func getpfr0() uint64

11
vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go generated vendored Normal file
View file

@ -0,0 +1,11 @@
// 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
package cpu
func getisar0() uint64 { return 0 }
func getisar1() uint64 { return 0 }
func getpfr0() uint64 { return 0 }

View file

@ -2,58 +2,14 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build !amd64,!amd64p32,!386 // +build !386,!amd64,!amd64p32,!arm64
package cpu package cpu
import (
"io/ioutil"
)
const (
_AT_HWCAP = 16
_AT_HWCAP2 = 26
procAuxv = "/proc/self/auxv"
uintSize = int(32 << (^uint(0) >> 63))
)
// For those platforms don't have a 'cpuid' equivalent we use HWCAP/HWCAP2
// These are initialized in cpu_$GOARCH.go
// and should not be changed after they are initialized.
var hwCap uint
var hwCap2 uint
func init() { func init() {
buf, err := ioutil.ReadFile(procAuxv) if err := readHWCAP(); err != nil {
if err != nil {
// e.g. on android /proc/self/auxv is not accessible, so silently
// ignore the error and leave Initialized = false
return return
} }
bo := hostByteOrder()
for len(buf) >= 2*(uintSize/8) {
var tag, val uint
switch uintSize {
case 32:
tag = uint(bo.Uint32(buf[0:]))
val = uint(bo.Uint32(buf[4:]))
buf = buf[8:]
case 64:
tag = uint(bo.Uint64(buf[0:]))
val = uint(bo.Uint64(buf[8:]))
buf = buf[16:]
}
switch tag {
case _AT_HWCAP:
hwCap = val
case _AT_HWCAP2:
hwCap2 = val
}
}
doinit() doinit()
Initialized = true Initialized = true
} }

View file

@ -4,8 +4,6 @@
package cpu package cpu
const cacheLineSize = 64
// HWCAP/HWCAP2 bits. These are exposed by Linux. // HWCAP/HWCAP2 bits. These are exposed by Linux.
const ( const (
hwcap_FP = 1 << 0 hwcap_FP = 1 << 0
@ -35,6 +33,12 @@ const (
) )
func doinit() { func doinit() {
if err := readHWCAP(); err != nil {
// failed to read /proc/self/auxv, try reading registers directly
readARM64Registers()
return
}
// HWCAP feature bits // HWCAP feature bits
ARM64.HasFP = isSet(hwCap, hwcap_FP) ARM64.HasFP = isSet(hwCap, hwcap_FP)
ARM64.HasASIMD = isSet(hwCap, hwcap_ASIMD) ARM64.HasASIMD = isSet(hwCap, hwcap_ASIMD)

View file

@ -6,4 +6,4 @@
package cpu package cpu
const cacheLineSize = 64 func doinit() {}

56
vendor/golang.org/x/sys/cpu/hwcap_linux.go generated vendored Normal file
View file

@ -0,0 +1,56 @@
// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package cpu
import (
"io/ioutil"
)
const (
_AT_HWCAP = 16
_AT_HWCAP2 = 26
procAuxv = "/proc/self/auxv"
uintSize = int(32 << (^uint(0) >> 63))
)
// For those platforms don't have a 'cpuid' equivalent we use HWCAP/HWCAP2
// These are initialized in cpu_$GOARCH.go
// and should not be changed after they are initialized.
var hwCap uint
var hwCap2 uint
func readHWCAP() error {
buf, err := ioutil.ReadFile(procAuxv)
if err != nil {
// e.g. on android /proc/self/auxv is not accessible, so silently
// ignore the error and leave Initialized = false. On some
// architectures (e.g. arm64) doinit() implements a fallback
// readout and will set Initialized = true again.
return err
}
bo := hostByteOrder()
for len(buf) >= 2*(uintSize/8) {
var tag, val uint
switch uintSize {
case 32:
tag = uint(bo.Uint32(buf[0:]))
val = uint(bo.Uint32(buf[4:]))
buf = buf[8:]
case 64:
tag = uint(bo.Uint64(buf[0:]))
val = uint(bo.Uint64(buf[8:]))
buf = buf[16:]
}
switch tag {
case _AT_HWCAP:
hwCap = val
case _AT_HWCAP2:
hwCap2 = val
}
}
return nil
}

View file

@ -50,7 +50,7 @@ if [[ "$GOOS" = "linux" ]]; then
# Use the Docker-based build system # Use the Docker-based build system
# Files generated through docker (use $cmd so you can Ctl-C the build or run) # Files generated through docker (use $cmd so you can Ctl-C the build or run)
$cmd docker build --tag generate:$GOOS $GOOS $cmd docker build --tag generate:$GOOS $GOOS
$cmd docker run --interactive --tty --volume $(dirname "$(readlink -f "$0")"):/build generate:$GOOS $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS
exit exit
fi fi

View file

@ -44,6 +44,7 @@ includes_AIX='
#include <sys/stropts.h> #include <sys/stropts.h>
#include <sys/mman.h> #include <sys/mman.h>
#include <sys/poll.h> #include <sys/poll.h>
#include <sys/select.h>
#include <sys/termio.h> #include <sys/termio.h>
#include <termios.h> #include <termios.h>
#include <fcntl.h> #include <fcntl.h>
@ -196,6 +197,7 @@ struct ltchars {
#include <linux/fanotify.h> #include <linux/fanotify.h>
#include <linux/filter.h> #include <linux/filter.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/fscrypt.h>
#include <linux/genetlink.h> #include <linux/genetlink.h>
#include <linux/hdreg.h> #include <linux/hdreg.h>
#include <linux/icmpv6.h> #include <linux/icmpv6.h>
@ -495,7 +497,9 @@ ccflags="$@"
$2 ~ /^CAN_/ || $2 ~ /^CAN_/ ||
$2 ~ /^CAP_/ || $2 ~ /^CAP_/ ||
$2 ~ /^ALG_/ || $2 ~ /^ALG_/ ||
$2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ ||
$2 ~ /^FS_IOC_.*ENCRYPTION/ ||
$2 ~ /^FSCRYPT_/ ||
$2 ~ /^GRND_/ || $2 ~ /^GRND_/ ||
$2 ~ /^RND/ || $2 ~ /^RND/ ||
$2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||

View file

@ -249,6 +249,14 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
return sendfile(outfd, infd, offset, count) return sendfile(outfd, infd, offset, count)
} }
func Fstatvfs(fd int, buf *Statvfs_t) (err error) {
return Fstatvfs1(fd, buf, ST_WAIT)
}
func Statvfs(path string, buf *Statvfs_t) (err error) {
return Statvfs1(path, buf, ST_WAIT)
}
/* /*
* Exposed directly * Exposed directly
*/ */
@ -287,6 +295,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sys Fpathconf(fd int, name int) (val int, err error) //sys Fpathconf(fd int, name int) (val int, err error)
//sys Fstat(fd int, stat *Stat_t) (err error) //sys Fstat(fd int, stat *Stat_t) (err error)
//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) //sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
//sys Fstatvfs1(fd int, buf *Statvfs_t) (err error) = SYS_FSTATVFS1
//sys Fsync(fd int) (err error) //sys Fsync(fd int) (err error)
//sys Ftruncate(fd int, length int64) (err error) //sys Ftruncate(fd int, length int64) (err error)
//sysnb Getegid() (egid int) //sysnb Getegid() (egid int)
@ -343,6 +352,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)
//sys Stat(path string, stat *Stat_t) (err error) //sys Stat(path string, stat *Stat_t) (err error)
//sys Statvfs1(path string, buf *Statvfs_t) (err error) = SYS_STATVFS1
//sys Symlink(path string, link string) (err error) //sys Symlink(path string, link string) (err error)
//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) //sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
//sys Sync() (err error) //sys Sync() (err error)

View file

@ -459,6 +459,15 @@ const (
MAP_SHARED = 0x1 MAP_SHARED = 0x1
MAP_TYPE = 0xf0 MAP_TYPE = 0xf0
MAP_VARIABLE = 0x0 MAP_VARIABLE = 0x0
MCAST_BLOCK_SOURCE = 0x40
MCAST_EXCLUDE = 0x2
MCAST_INCLUDE = 0x1
MCAST_JOIN_GROUP = 0x3e
MCAST_JOIN_SOURCE_GROUP = 0x42
MCAST_LEAVE_GROUP = 0x3f
MCAST_LEAVE_SOURCE_GROUP = 0x43
MCAST_SOURCE_FILTER = 0x49
MCAST_UNBLOCK_SOURCE = 0x41
MCL_CURRENT = 0x100 MCL_CURRENT = 0x100
MCL_FUTURE = 0x200 MCL_FUTURE = 0x200
MSG_ANY = 0x4 MSG_ANY = 0x4
@ -483,6 +492,7 @@ const (
MS_INVALIDATE = 0x40 MS_INVALIDATE = 0x40
MS_PER_SEC = 0x3e8 MS_PER_SEC = 0x3e8
MS_SYNC = 0x20 MS_SYNC = 0x20
NFDBITS = 0x20
NL0 = 0x0 NL0 = 0x0
NL1 = 0x4000 NL1 = 0x4000
NL2 = 0x8000 NL2 = 0x8000
@ -688,7 +698,7 @@ const (
SIOCGHIWAT = 0x40047301 SIOCGHIWAT = 0x40047301
SIOCGIFADDR = -0x3fd796df SIOCGIFADDR = -0x3fd796df
SIOCGIFADDRS = 0x2000698c SIOCGIFADDRS = 0x2000698c
SIOCGIFBAUDRATE = -0x3fd79693 SIOCGIFBAUDRATE = -0x3fdf9669
SIOCGIFBRDADDR = -0x3fd796dd SIOCGIFBRDADDR = -0x3fd796dd
SIOCGIFCONF = -0x3ff796bb SIOCGIFCONF = -0x3ff796bb
SIOCGIFCONFGLOB = -0x3ff79670 SIOCGIFCONFGLOB = -0x3ff79670

View file

@ -459,6 +459,15 @@ const (
MAP_SHARED = 0x1 MAP_SHARED = 0x1
MAP_TYPE = 0xf0 MAP_TYPE = 0xf0
MAP_VARIABLE = 0x0 MAP_VARIABLE = 0x0
MCAST_BLOCK_SOURCE = 0x40
MCAST_EXCLUDE = 0x2
MCAST_INCLUDE = 0x1
MCAST_JOIN_GROUP = 0x3e
MCAST_JOIN_SOURCE_GROUP = 0x42
MCAST_LEAVE_GROUP = 0x3f
MCAST_LEAVE_SOURCE_GROUP = 0x43
MCAST_SOURCE_FILTER = 0x49
MCAST_UNBLOCK_SOURCE = 0x41
MCL_CURRENT = 0x100 MCL_CURRENT = 0x100
MCL_FUTURE = 0x200 MCL_FUTURE = 0x200
MSG_ANY = 0x4 MSG_ANY = 0x4
@ -483,6 +492,7 @@ const (
MS_INVALIDATE = 0x40 MS_INVALIDATE = 0x40
MS_PER_SEC = 0x3e8 MS_PER_SEC = 0x3e8
MS_SYNC = 0x20 MS_SYNC = 0x20
NFDBITS = 0x40
NL0 = 0x0 NL0 = 0x0
NL1 = 0x4000 NL1 = 0x4000
NL2 = 0x8000 NL2 = 0x8000
@ -688,7 +698,7 @@ const (
SIOCGHIWAT = 0x40047301 SIOCGHIWAT = 0x40047301
SIOCGIFADDR = -0x3fd796df SIOCGIFADDR = -0x3fd796df
SIOCGIFADDRS = 0x2000698c SIOCGIFADDRS = 0x2000698c
SIOCGIFBAUDRATE = -0x3fd79693 SIOCGIFBAUDRATE = -0x3fdf9669
SIOCGIFBRDADDR = -0x3fd796dd SIOCGIFBRDADDR = -0x3fd796dd
SIOCGIFCONF = -0x3fef96bb SIOCGIFCONF = -0x3fef96bb
SIOCGIFCONFGLOB = -0x3fef9670 SIOCGIFCONFGLOB = -0x3fef9670

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT. // Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
// +build linux // +build linux
// +build arm arm64 // +build arm arm64

17
vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go generated vendored Normal file
View file

@ -0,0 +1,17 @@
// Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT.
package unix
import "unsafe"
// PtraceGetRegSetArm64 fetches the registers used by arm64 binaries.
func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error {
iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))}
return ptrace(PTRACE_GETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec)))
}
// PtraceSetRegSetArm64 sets the registers used by arm64 binaries.
func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error {
iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))}
return ptrace(PTRACE_SETREGSET, pid, uintptr(addr), uintptr(unsafe.Pointer(&iovec)))
}

View file

@ -1,4 +1,4 @@
// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT. // Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT.
// +build linux // +build linux
// +build mips mips64 // +build mips mips64

View file

@ -1,4 +1,4 @@
// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT. // Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT.
// +build linux // +build linux
// +build mipsle mips64le // +build mipsle mips64le

View file

@ -1,4 +1,4 @@
// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT. // Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
// +build linux // +build linux
// +build 386 amd64 // +build 386 amd64

View file

@ -926,6 +926,16 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fsync(fd int) (err error) { func Fsync(fd int) (err error) {
_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -1635,6 +1645,21 @@ func Stat(path string, stat *Stat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Symlink(path string, link string) (err error) { func Symlink(path string, link string) (err error) {
var _p0 *byte var _p0 *byte
_p0, err = BytePtrFromString(path) _p0, err = BytePtrFromString(path)

View file

@ -926,6 +926,16 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fsync(fd int) (err error) { func Fsync(fd int) (err error) {
_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -1635,6 +1645,21 @@ func Stat(path string, stat *Stat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Symlink(path string, link string) (err error) { func Symlink(path string, link string) (err error) {
var _p0 *byte var _p0 *byte
_p0, err = BytePtrFromString(path) _p0, err = BytePtrFromString(path)

View file

@ -926,6 +926,16 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fsync(fd int) (err error) { func Fsync(fd int) (err error) {
_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -1635,6 +1645,21 @@ func Stat(path string, stat *Stat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Symlink(path string, link string) (err error) { func Symlink(path string, link string) (err error) {
var _p0 *byte var _p0 *byte
_p0, err = BytePtrFromString(path) _p0, err = BytePtrFromString(path)

View file

@ -926,6 +926,16 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fstatvfs1(fd int, buf *Statvfs_t, flags int) (err error) {
_, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Fsync(fd int) (err error) { func Fsync(fd int) (err error) {
_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -1635,6 +1645,21 @@ func Stat(path string, stat *Stat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Statvfs1(path string, buf *Statvfs_t, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
_, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Symlink(path string, link string) (err error) { func Symlink(path string, link string) (err error) {
var _p0 *byte var _p0 *byte
_p0, err = BytePtrFromString(path) _p0, err = BytePtrFromString(path)

View file

@ -415,4 +415,5 @@ const (
SYS_FSMOUNT = 4432 SYS_FSMOUNT = 4432
SYS_FSPICK = 4433 SYS_FSPICK = 4433
SYS_PIDFD_OPEN = 4434 SYS_PIDFD_OPEN = 4434
SYS_CLONE3 = 4435
) )

View file

@ -345,4 +345,5 @@ const (
SYS_FSMOUNT = 5432 SYS_FSMOUNT = 5432
SYS_FSPICK = 5433 SYS_FSPICK = 5433
SYS_PIDFD_OPEN = 5434 SYS_PIDFD_OPEN = 5434
SYS_CLONE3 = 5435
) )

View file

@ -345,4 +345,5 @@ const (
SYS_FSMOUNT = 5432 SYS_FSMOUNT = 5432
SYS_FSPICK = 5433 SYS_FSPICK = 5433
SYS_PIDFD_OPEN = 5434 SYS_PIDFD_OPEN = 5434
SYS_CLONE3 = 5435
) )

View file

@ -415,4 +415,5 @@ const (
SYS_FSMOUNT = 4432 SYS_FSMOUNT = 4432
SYS_FSPICK = 4433 SYS_FSPICK = 4433
SYS_PIDFD_OPEN = 4434 SYS_PIDFD_OPEN = 4434
SYS_CLONE3 = 4435
) )

View file

@ -179,6 +179,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -427,7 +476,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2041,6 +2090,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2055,6 +2105,7 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2663,7 +2714,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2743,7 +2794,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -179,6 +179,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -428,7 +477,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2054,6 +2103,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2068,6 +2118,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2677,7 +2729,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2757,7 +2809,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -183,6 +183,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -260,7 +309,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -431,7 +480,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2032,6 +2081,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2046,6 +2096,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2654,7 +2706,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2734,7 +2786,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -180,6 +180,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -429,7 +478,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2033,6 +2082,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2047,6 +2097,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2656,7 +2708,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2736,7 +2788,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -182,6 +182,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -259,7 +308,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -430,7 +479,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2038,6 +2087,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2052,6 +2102,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2660,7 +2712,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2740,7 +2792,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -180,6 +180,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -429,7 +478,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -783,6 +832,7 @@ type Ustat_t struct {
type EpollEvent struct { type EpollEvent struct {
Events uint32 Events uint32
_ int32
Fd int32 Fd int32
Pad int32 Pad int32
} }
@ -2035,6 +2085,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2049,6 +2100,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2658,7 +2711,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2738,7 +2791,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -180,6 +180,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -429,7 +478,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -783,6 +832,7 @@ type Ustat_t struct {
type EpollEvent struct { type EpollEvent struct {
Events uint32 Events uint32
_ int32
Fd int32 Fd int32
Pad int32 Pad int32
} }
@ -2035,6 +2085,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2049,6 +2100,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2658,7 +2711,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2738,7 +2791,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -182,6 +182,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -259,7 +308,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -430,7 +479,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2038,6 +2087,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2052,6 +2102,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2660,7 +2712,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2740,7 +2792,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -181,6 +181,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -258,7 +307,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -430,7 +479,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2043,6 +2092,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2057,6 +2107,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2666,7 +2718,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2746,7 +2798,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -181,6 +181,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -258,7 +307,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -430,7 +479,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2043,6 +2092,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2057,6 +2107,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2666,7 +2718,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2746,7 +2798,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -180,6 +180,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -257,7 +306,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -429,7 +478,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2061,6 +2110,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2075,6 +2125,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2684,7 +2736,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2764,7 +2816,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -179,6 +179,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -256,7 +305,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -428,7 +477,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2057,6 +2106,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2071,6 +2121,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2680,7 +2732,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2760,7 +2812,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -183,6 +183,55 @@ type FscryptKey struct {
Size uint32 Size uint32
} }
type FscryptPolicyV1 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
Master_key_descriptor [8]uint8
}
type FscryptPolicyV2 struct {
Version uint8
Contents_encryption_mode uint8
Filenames_encryption_mode uint8
Flags uint8
_ [4]uint8
Master_key_identifier [16]uint8
}
type FscryptGetPolicyExArg struct {
Size uint64
Policy [24]byte
}
type FscryptKeySpecifier struct {
Type uint32
_ uint32
U [32]byte
}
type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier
Raw_size uint32
_ [9]uint32
}
type FscryptRemoveKeyArg struct {
Key_spec FscryptKeySpecifier
Removal_status_flags uint32
_ [5]uint32
}
type FscryptGetKeyStatusArg struct {
Key_spec FscryptKeySpecifier
_ [6]uint32
Status uint32
Status_flags uint32
User_count uint32
_ [13]uint32
}
type KeyctlDHParams struct { type KeyctlDHParams struct {
Private int32 Private int32
Prime int32 Prime int32
@ -260,7 +309,7 @@ type RawSockaddrRFCOMM struct {
type RawSockaddrCAN struct { type RawSockaddrCAN struct {
Family uint16 Family uint16
Ifindex int32 Ifindex int32
Addr [8]byte Addr [16]byte
} }
type RawSockaddrALG struct { type RawSockaddrALG struct {
@ -432,7 +481,7 @@ const (
SizeofSockaddrHCI = 0x6 SizeofSockaddrHCI = 0x6
SizeofSockaddrL2 = 0xe SizeofSockaddrL2 = 0xe
SizeofSockaddrRFCOMM = 0xa SizeofSockaddrRFCOMM = 0xa
SizeofSockaddrCAN = 0x10 SizeofSockaddrCAN = 0x18
SizeofSockaddrALG = 0x58 SizeofSockaddrALG = 0x58
SizeofSockaddrVM = 0x10 SizeofSockaddrVM = 0x10
SizeofSockaddrXDP = 0x10 SizeofSockaddrXDP = 0x10
@ -2038,6 +2087,7 @@ type XDPRingOffset struct {
Producer uint64 Producer uint64
Consumer uint64 Consumer uint64
Desc uint64 Desc uint64
Flags uint64
} }
type XDPMmapOffsets struct { type XDPMmapOffsets struct {
@ -2052,6 +2102,8 @@ type XDPUmemReg struct {
Len uint64 Len uint64
Size uint32 Size uint32
Headroom uint32 Headroom uint32
Flags uint32
_ [4]byte
} }
type XDPStatistics struct { type XDPStatistics struct {
@ -2661,7 +2713,7 @@ const (
DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
DEVLINK_CMD_MAX = 0x3c DEVLINK_CMD_MAX = 0x44
DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_NOTSET = 0x0
DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_AUTO = 0x1
DEVLINK_PORT_TYPE_ETH = 0x2 DEVLINK_PORT_TYPE_ETH = 0x2
@ -2741,7 +2793,7 @@ const (
DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
DEVLINK_ATTR_PAD = 0x3d DEVLINK_ATTR_PAD = 0x3d
DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
DEVLINK_ATTR_MAX = 0x80 DEVLINK_ATTR_MAX = 0x89
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0

View file

@ -78,6 +78,33 @@ type Stat_t struct {
type Statfs_t [0]byte type Statfs_t [0]byte
type Statvfs_t struct {
Flag uint32
Bsize uint32
Frsize uint32
Iosize uint32
Blocks uint64
Bfree uint64
Bavail uint64
Bresvd uint64
Files uint64
Ffree uint64
Favail uint64
Fresvd uint64
Syncreads uint64
Syncwrites uint64
Asyncreads uint64
Asyncwrites uint64
Fsidx Fsid
Fsid uint32
Namemax uint32
Owner uint32
Spare [4]uint32
Fstypename [32]byte
Mntonname [1024]byte
Mntfromname [1024]byte
}
type Flock_t struct { type Flock_t struct {
Start int64 Start int64
Len int64 Len int64
@ -103,6 +130,11 @@ const (
PathMax = 0x400 PathMax = 0x400
) )
const (
ST_WAIT = 0x1
ST_NOWAIT = 0x2
)
const ( const (
FADV_NORMAL = 0x0 FADV_NORMAL = 0x0
FADV_RANDOM = 0x1 FADV_RANDOM = 0x1

View file

@ -82,6 +82,34 @@ type Stat_t struct {
type Statfs_t [0]byte type Statfs_t [0]byte
type Statvfs_t struct {
Flag uint64
Bsize uint64
Frsize uint64
Iosize uint64
Blocks uint64
Bfree uint64
Bavail uint64
Bresvd uint64
Files uint64
Ffree uint64
Favail uint64
Fresvd uint64
Syncreads uint64
Syncwrites uint64
Asyncreads uint64
Asyncwrites uint64
Fsidx Fsid
Fsid uint64
Namemax uint64
Owner uint32
Spare [4]uint32
Fstypename [32]byte
Mntonname [1024]byte
Mntfromname [1024]byte
_ [4]byte
}
type Flock_t struct { type Flock_t struct {
Start int64 Start int64
Len int64 Len int64
@ -107,6 +135,11 @@ const (
PathMax = 0x400 PathMax = 0x400
) )
const (
ST_WAIT = 0x1
ST_NOWAIT = 0x2
)
const ( const (
FADV_NORMAL = 0x0 FADV_NORMAL = 0x0
FADV_RANDOM = 0x1 FADV_RANDOM = 0x1

View file

@ -83,6 +83,33 @@ type Stat_t struct {
type Statfs_t [0]byte type Statfs_t [0]byte
type Statvfs_t struct {
Flag uint32
Bsize uint32
Frsize uint32
Iosize uint32
Blocks uint64
Bfree uint64
Bavail uint64
Bresvd uint64
Files uint64
Ffree uint64
Favail uint64
Fresvd uint64
Syncreads uint64
Syncwrites uint64
Asyncreads uint64
Asyncwrites uint64
Fsidx Fsid
Fsid uint32
Namemax uint32
Owner uint32
Spare [4]uint32
Fstypename [32]byte
Mntonname [1024]byte
Mntfromname [1024]byte
}
type Flock_t struct { type Flock_t struct {
Start int64 Start int64
Len int64 Len int64
@ -108,6 +135,11 @@ const (
PathMax = 0x400 PathMax = 0x400
) )
const (
ST_WAIT = 0x1
ST_NOWAIT = 0x2
)
const ( const (
FADV_NORMAL = 0x0 FADV_NORMAL = 0x0
FADV_RANDOM = 0x1 FADV_RANDOM = 0x1

View file

@ -82,6 +82,34 @@ type Stat_t struct {
type Statfs_t [0]byte type Statfs_t [0]byte
type Statvfs_t struct {
Flag uint64
Bsize uint64
Frsize uint64
Iosize uint64
Blocks uint64
Bfree uint64
Bavail uint64
Bresvd uint64
Files uint64
Ffree uint64
Favail uint64
Fresvd uint64
Syncreads uint64
Syncwrites uint64
Asyncreads uint64
Asyncwrites uint64
Fsidx Fsid
Fsid uint64
Namemax uint64
Owner uint32
Spare [4]uint32
Fstypename [32]byte
Mntonname [1024]byte
Mntfromname [1024]byte
_ [4]byte
}
type Flock_t struct { type Flock_t struct {
Start int64 Start int64
Len int64 Len int64
@ -107,6 +135,11 @@ const (
PathMax = 0x400 PathMax = 0x400
) )
const (
ST_WAIT = 0x1
ST_NOWAIT = 0x2
)
const ( const (
FADV_NORMAL = 0x0 FADV_NORMAL = 0x0
FADV_RANDOM = 0x1 FADV_RANDOM = 0x1

View file

@ -229,15 +229,13 @@ func LookupSID(system, account string) (sid *SID, domain string, accType uint32,
// String converts SID to a string format suitable for display, storage, or transmission. // String converts SID to a string format suitable for display, storage, or transmission.
func (sid *SID) String() string { func (sid *SID) String() string {
// From https://docs.microsoft.com/en-us/windows/win32/secbiomet/general-constants
const SecurityMaxSidSize = 68
var s *uint16 var s *uint16
e := ConvertSidToStringSid(sid, &s) e := ConvertSidToStringSid(sid, &s)
if e != nil { if e != nil {
return "" return ""
} }
defer LocalFree((Handle)(unsafe.Pointer(s))) defer LocalFree((Handle)(unsafe.Pointer(s)))
return UTF16ToString((*[SecurityMaxSidSize]uint16)(unsafe.Pointer(s))[:]) return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:])
} }
// Len returns the length, in bytes, of a valid security identifier SID. // Len returns the length, in bytes, of a valid security identifier SID.

View file

@ -313,6 +313,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree //sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree
//sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion //sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion
//sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers //sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers
//sys getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages
//sys getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages
//sys getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages
//sys getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages
// Process Status API (PSAPI) // Process Status API (PSAPI)
//sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses //sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses
@ -697,6 +701,8 @@ const socket_error = uintptr(^uint32(0))
//sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup //sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup
//sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl //sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl
//sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket //sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket
//sys sendto(s Handle, buf []byte, flags int, to unsafe.Pointer, tolen int32) (err error) [failretval==socket_error] = ws2_32.sendto
//sys recvfrom(s Handle, buf []byte, flags int, from *RawSockaddrAny, fromlen *int) (n int, err error) [failretval==-1] = ws2_32.recvfrom
//sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt //sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt
//sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt //sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt
//sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind //sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind
@ -1125,10 +1131,26 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
// TODO(brainman): fix all needed for net // TODO(brainman): fix all needed for net
func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS } func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS }
func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) { func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) {
return 0, nil, syscall.EWINDOWS var rsa RawSockaddrAny
l := int(unsafe.Sizeof(rsa))
n, err = recvfrom(fd, p, flags, &rsa, &l)
if err != nil {
return
}
from, err = rsa.Sockaddr()
return
} }
func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { return syscall.EWINDOWS }
func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) {
ptr, l, err := to.sockaddr()
if err != nil {
return err
}
return sendto(fd, p, flags, ptr, l)
}
func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS } func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS }
// The Linger struct is wrong but we only noticed after Go 1. // The Linger struct is wrong but we only noticed after Go 1.
@ -1378,3 +1400,54 @@ func RtlGetNtVersionNumbers() (majorVersion, minorVersion, buildNumber uint32) {
buildNumber &= 0xffff buildNumber &= 0xffff
return return
} }
// GetProcessPreferredUILanguages retrieves the process preferred UI languages.
func GetProcessPreferredUILanguages(flags uint32) ([]string, error) {
return getUILanguages(flags, getProcessPreferredUILanguages)
}
// GetThreadPreferredUILanguages retrieves the thread preferred UI languages for the current thread.
func GetThreadPreferredUILanguages(flags uint32) ([]string, error) {
return getUILanguages(flags, getThreadPreferredUILanguages)
}
// GetUserPreferredUILanguages retrieves information about the user preferred UI languages.
func GetUserPreferredUILanguages(flags uint32) ([]string, error) {
return getUILanguages(flags, getUserPreferredUILanguages)
}
// GetSystemPreferredUILanguages retrieves the system preferred UI languages.
func GetSystemPreferredUILanguages(flags uint32) ([]string, error) {
return getUILanguages(flags, getSystemPreferredUILanguages)
}
func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) error) ([]string, error) {
size := uint32(128)
for {
var numLanguages uint32
buf := make([]uint16, size)
err := f(flags, &numLanguages, &buf[0], &size)
if err == ERROR_INSUFFICIENT_BUFFER {
continue
}
if err != nil {
return nil, err
}
buf = buf[:size]
if numLanguages == 0 || len(buf) == 0 { // GetProcessPreferredUILanguages may return numLanguages==0 with "\0\0"
return []string{}, nil
}
if buf[len(buf)-1] == 0 {
buf = buf[:len(buf)-1] // remove terminating null
}
languages := make([]string, 0, numLanguages)
from := 0
for i, c := range buf {
if c == 0 {
languages = append(languages, string(utf16.Decode(buf[from:i])))
from = i + 1
}
}
return languages, nil
}
}

View file

@ -1742,3 +1742,36 @@ const (
GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4
) )
// MUI function flag values
const (
MUI_LANGUAGE_ID = 0x4
MUI_LANGUAGE_NAME = 0x8
MUI_MERGE_SYSTEM_FALLBACK = 0x10
MUI_MERGE_USER_FALLBACK = 0x20
MUI_UI_FALLBACK = MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK
MUI_THREAD_LANGUAGES = 0x40
MUI_CONSOLE_FILTER = 0x100
MUI_COMPLEX_SCRIPT_FILTER = 0x200
MUI_RESET_FILTERS = 0x001
MUI_USER_PREFERRED_UI_LANGUAGES = 0x10
MUI_USE_INSTALLED_LANGUAGES = 0x20
MUI_USE_SEARCH_ALL_LANGUAGES = 0x40
MUI_LANG_NEUTRAL_PE_FILE = 0x100
MUI_NON_LANG_NEUTRAL_FILE = 0x200
MUI_MACHINE_LANGUAGE_SETTINGS = 0x400
MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = 0x001
MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = 0x002
MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = 0x004
MUI_QUERY_TYPE = 0x001
MUI_QUERY_CHECKSUM = 0x002
MUI_QUERY_LANGUAGE_NAME = 0x004
MUI_QUERY_RESOURCE_TYPES = 0x008
MUI_FILEINFO_VERSION = 0x001
MUI_FULL_LANGUAGE = 0x01
MUI_PARTIAL_LANGUAGE = 0x02
MUI_LIP_LANGUAGE = 0x04
MUI_LANGUAGE_INSTALLED = 0x20
MUI_LANGUAGE_LICENSED = 0x40
)

View file

@ -248,11 +248,17 @@ var (
procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") procCoTaskMemFree = modole32.NewProc("CoTaskMemFree")
procRtlGetVersion = modntdll.NewProc("RtlGetVersion") procRtlGetVersion = modntdll.NewProc("RtlGetVersion")
procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers")
procGetProcessPreferredUILanguages = modkernel32.NewProc("GetProcessPreferredUILanguages")
procGetThreadPreferredUILanguages = modkernel32.NewProc("GetThreadPreferredUILanguages")
procGetUserPreferredUILanguages = modkernel32.NewProc("GetUserPreferredUILanguages")
procGetSystemPreferredUILanguages = modkernel32.NewProc("GetSystemPreferredUILanguages")
procEnumProcesses = modpsapi.NewProc("EnumProcesses") procEnumProcesses = modpsapi.NewProc("EnumProcesses")
procWSAStartup = modws2_32.NewProc("WSAStartup") procWSAStartup = modws2_32.NewProc("WSAStartup")
procWSACleanup = modws2_32.NewProc("WSACleanup") procWSACleanup = modws2_32.NewProc("WSACleanup")
procWSAIoctl = modws2_32.NewProc("WSAIoctl") procWSAIoctl = modws2_32.NewProc("WSAIoctl")
procsocket = modws2_32.NewProc("socket") procsocket = modws2_32.NewProc("socket")
procsendto = modws2_32.NewProc("sendto")
procrecvfrom = modws2_32.NewProc("recvfrom")
procsetsockopt = modws2_32.NewProc("setsockopt") procsetsockopt = modws2_32.NewProc("setsockopt")
procgetsockopt = modws2_32.NewProc("getsockopt") procgetsockopt = modws2_32.NewProc("getsockopt")
procbind = modws2_32.NewProc("bind") procbind = modws2_32.NewProc("bind")
@ -2760,6 +2766,54 @@ func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNum
return return
} }
func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {
r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0)
if r1 == 0 {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {
r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0)
if r1 == 0 {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {
r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0)
if r1 == 0 {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) {
r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0)
if r1 == 0 {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) {
var _p0 *uint32 var _p0 *uint32
if len(processIds) > 0 { if len(processIds) > 0 {
@ -2821,6 +2875,39 @@ func socket(af int32, typ int32, protocol int32) (handle Handle, err error) {
return return
} }
func sendto(s Handle, buf []byte, flags int, to unsafe.Pointer, tolen int32) (err error) {
var _p0 *byte
if len(buf) > 0 {
_p0 = &buf[0]
}
r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen))
if r1 == socket_error {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func recvfrom(s Handle, buf []byte, flags int, from *RawSockaddrAny, fromlen *int) (n int, err error) {
var _p0 *byte
if len(buf) > 0 {
_p0 = &buf[0]
}
r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
n = int(r0)
if n == -1 {
if e1 != 0 {
err = errnoErr(e1)
} else {
err = syscall.EINVAL
}
}
return
}
func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) {
r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0)
if r1 == socket_error { if r1 == socket_error {

4
vendor/modules.txt vendored
View file

@ -1,4 +1,4 @@
# bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 # bazil.org/fuse v0.0.0-20191225233854-3a99aca11732
bazil.org/fuse bazil.org/fuse
bazil.org/fuse/fs bazil.org/fuse/fs
bazil.org/fuse/fuseutil bazil.org/fuse/fuseutil
@ -249,7 +249,7 @@ golang.org/x/oauth2/jws
golang.org/x/oauth2/jwt golang.org/x/oauth2/jwt
# golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e # golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
golang.org/x/sync/errgroup golang.org/x/sync/errgroup
# golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 # golang.org/x/sys v0.0.0-20191210023423-ac6580df4449
golang.org/x/sys/cpu golang.org/x/sys/cpu
golang.org/x/sys/unix golang.org/x/sys/unix
golang.org/x/sys/windows golang.org/x/sys/windows