]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/vendor: get golang.org/x/sys@beda7e5e158
authorRuss Cox <rsc@golang.org>
Wed, 27 Jan 2021 02:23:55 +0000 (21:23 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 19 Feb 2021 00:40:30 +0000 (00:40 +0000)
This brings in the windows/arm64 support, along with other recent changes.

This CL is part of a stack adding windows/arm64
support (#36439), intended to land in the Go 1.17 cycle.

Change-Id: Ifaca710093376c658ecf91239aa05cc33af98a31
Reviewed-on: https://go-review.googlesource.com/c/go/+/288824
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
111 files changed:
src/cmd/go.mod
src/cmd/go.sum
src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_illumos.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd.go
src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris.go
src/cmd/vendor/golang.org/x/sys/unix/timestruct.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
src/cmd/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
src/cmd/vendor/golang.org/x/sys/windows/syscall_windows.go
src/cmd/vendor/golang.org/x/sys/windows/types_windows.go
src/cmd/vendor/golang.org/x/sys/windows/types_windows_arm64.go [new file with mode: 0644]
src/cmd/vendor/golang.org/x/sys/windows/zsyscall_windows.go
src/cmd/vendor/modules.txt
src/go.mod
src/go.sum
src/vendor/modules.txt

index 235e28f64f3e264637fa8a7d0b8e5cc0704c421c..5414e5e688866576ef68b200649d127ac5e27c37 100644 (file)
@@ -7,6 +7,6 @@ require (
        golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff
        golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
        golang.org/x/mod v0.4.1
-       golang.org/x/sys v0.0.0-20201204225414-ed752295db88 // indirect
+       golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e // indirect
        golang.org/x/tools v0.0.0-20210107193943-4ed967dd8eff
 )
index 70aae0b4ccc83f2f920403e6090e5e63b1285638..3dc0565f655f158f5a25441cd37594c7dc0e5a55 100644 (file)
@@ -25,8 +25,8 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201204225414-ed752295db88 h1:KmZPnMocC93w341XZp26yTJg8Za7lhb2KhkYmixoeso=
-golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e h1:f5mksnk+hgXHnImpZoWj64ja99j9zV7YUgrVG95uFE4=
+golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
index c0f9f2d523f53e97a80b7e5bd2d9458662f1c5a1..ca98cb485ff1ba37aaa25e2381c2f83bffc7ca8b 100644 (file)
@@ -65,6 +65,7 @@ includes_Darwin='
 #include <sys/ptrace.h>
 #include <sys/select.h>
 #include <sys/socket.h>
+#include <sys/un.h>
 #include <sys/sockio.h>
 #include <sys/sys_domain.h>
 #include <sys/sysctl.h>
@@ -204,6 +205,7 @@ struct ltchars {
 #include <linux/devlink.h>
 #include <linux/dm-ioctl.h>
 #include <linux/errqueue.h>
+#include <linux/ethtool_netlink.h>
 #include <linux/falloc.h>
 #include <linux/fanotify.h>
 #include <linux/filter.h>
@@ -479,7 +481,7 @@ ccflags="$@"
                $2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
                $2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
                $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
-               $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+               $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
                $2 ~ /^TP_STATUS_/ ||
                $2 ~ /^FALLOC_/ ||
                $2 == "ICMPV6_FILTER" ||
@@ -561,7 +563,9 @@ ccflags="$@"
                $2 ~ /^(HDIO|WIN|SMART)_/ ||
                $2 ~ /^CRYPTO_/ ||
                $2 ~ /^TIPC_/ ||
+               $2 !~  "DEVLINK_RELOAD_LIMITS_VALID_MASK" &&
                $2 ~ /^DEVLINK_/ ||
+               $2 ~ /^ETHTOOL_/ ||
                $2 ~ /^LWTUNNEL_IP/ ||
                $2 !~ "WMESGLEN" &&
                $2 ~ /^W[A-Z0-9]+$/ ||
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go
new file mode 100644 (file)
index 0000000..fc568b5
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2020 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build darwin,!ios
+
+package unix
+
+func ptrace(request int, pid int, addr uintptr, data uintptr) error {
+       return ptrace1(request, pid, addr, data)
+}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go b/src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go
new file mode 100644 (file)
index 0000000..183441c
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2020 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ios
+
+package unix
+
+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+       return ENOTSUP
+}
index 4408153822dbbfe5041d0d7eead51ab829f355c1..423dcced7ef7730e71ed7782db667ee75681d40a 100644 (file)
@@ -419,8 +419,8 @@ func (w WaitStatus) TrapCause() int { return -1 }
 //sys  Mknod(path string, mode uint32, dev int) (err error)
 //sys  Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
 //sys  Nanosleep(time *Timespec, leftover *Timespec) (err error)
-//sys   Open(path string, mode int, perm uint32) (fd int, err error) = open64
-//sys   Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
+//sys  Open(path string, mode int, perm uint32) (fd int, err error) = open64
+//sys  Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
 //sys  read(fd int, p []byte) (n int, err error)
 //sys  Readlink(path string, buf []byte) (n int, err error)
 //sys  Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
@@ -439,8 +439,8 @@ func (w WaitStatus) TrapCause() int { return -1 }
 //sysnb        Times(tms *Tms) (ticks uintptr, err error)
 //sysnb        Umask(mask int) (oldmask int)
 //sysnb        Uname(buf *Utsname) (err error)
-//sys   Unlink(path string) (err error)
-//sys   Unlinkat(dirfd int, path string, flags int) (err error)
+//sys  Unlink(path string) (err error)
+//sys  Unlinkat(dirfd int, path string, flags int) (err error)
 //sys  Ustat(dev int, ubuf *Ustat_t) (err error)
 //sys  write(fd int, p []byte) (n int, err error)
 //sys  readlen(fd int, p *byte, np int) (n int, err error) = read
@@ -514,7 +514,7 @@ func Munmap(b []byte) (err error) {
 //sys  Munlock(b []byte) (err error)
 //sys  Munlockall() (err error)
 
-//sysnb pipe(p *[2]_C_int) (err error)
+//sysnb        pipe(p *[2]_C_int) (err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
index bc634a280a08c05e5879cfd8796b69299178b45a..678fb27777a7a0800a83fd8340500a70a200c489 100644 (file)
@@ -318,7 +318,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
        return anyToSockaddr(fd, &rsa)
 }
 
-//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
+//sysnb        socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
 
 // GetsockoptString returns the string value of the socket option opt for the
 // socket associated with fd at the given socket level.
@@ -332,8 +332,8 @@ func GetsockoptString(fd, level, opt int) (string, error) {
        return string(buf[:vallen-1]), nil
 }
 
-//sys   recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-//sys   sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
+//sys  recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
+//sys  sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
 //sys  recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
 
 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
@@ -626,7 +626,7 @@ func Futimes(fd int, tv []Timeval) error {
        return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
 }
 
-//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)
+//sys  poll(fds *PollFd, nfds int, timeout int) (n int, err error)
 
 func Poll(fds []PollFd, timeout int) (n int, err error) {
        if len(fds) == 0 {
index b6257389008784051d3169ed9ab94b82b1801a2c..e771a3c5efb61ca064d23bc73ad7a4d17ebdacb7 100644 (file)
@@ -119,13 +119,16 @@ type attrList struct {
        Forkattr    uint32
 }
 
-//sysnb pipe() (r int, w int, err error)
+//sysnb        pipe(p *[2]int32) (err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
                return EINVAL
        }
-       p[0], p[1], err = pipe()
+       var x [2]int32
+       err = pipe(&x)
+       p[0] = int(x[0])
+       p[1] = int(x[1])
        return
 }
 
@@ -269,7 +272,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
                options)
 }
 
-//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
+//sys  setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
 
 func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
        // Darwin doesn't support SYS_UTIMENSAT
@@ -317,7 +320,7 @@ func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error {
        return err
 }
 
-//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
+//sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
 
 func Uname(uname *Utsname) error {
        mib := []_C_int{CTL_KERN, KERN_OSTYPE}
@@ -375,6 +378,15 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
        return
 }
 
+// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct.
+// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively.
+func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
+       x := new(Xucred)
+       vallen := _Socklen(unsafe.Sizeof(Xucred{}))
+       err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen)
+       return x, err
+}
+
 //sys  sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
 
 /*
@@ -469,8 +481,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 //sys  Unlinkat(dirfd int, path string, flags int) (err error)
 //sys  Unmount(path string, flags int) (err error)
 //sys  write(fd int, p []byte) (n int, err error)
-//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-//sys   munmap(addr uintptr, length uintptr) (err error)
+//sys  mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
+//sys  munmap(addr uintptr, length uintptr) (err error)
 //sys  readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
 //sys  writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
 
index 6c1f4ab95b477cf0526114071d526aca311dc004..ee065fcf2da979c7d2feb5cc87c4408fee3397b6 100644 (file)
@@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
 //sys  Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
 //sys  getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
 //sys  Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-//sys  ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys  ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
 //sys  Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
 //sys  Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
index 0582ae256ef43f93d3c298d496531dfd4b203ff6..7a1f64a7b6b4a5a62a5529f670f277d3109c8ff2 100644 (file)
@@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
 //sys  Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
 //sys  getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
 //sys  Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-//sys  ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys  ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
 //sys  Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
 //sys  Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
index c6a9733b4cb6eab5870518703ccc5e6d6281524c..d30735c5d630314e710101d8ff9215e9df9c98cb 100644 (file)
@@ -6,7 +6,7 @@ package unix
 
 import "syscall"
 
-func ptrace(request int, pid int, addr uintptr, data uintptr) error {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) error {
        return ENOTSUP
 }
 
index 253afa4de55cd4d25559d31c5ae74f41d55db4d2..9f85fd4046ea80eba82039d0ba605966f92d5998 100644 (file)
@@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
 //sys  Fstatfs(fd int, stat *Statfs_t) (err error)
 //sys  getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT
 //sys  Lstat(path string, stat *Stat_t) (err error)
-//sys  ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
+//sys  ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
 //sys  Stat(path string, stat *Stat_t) (err error)
 //sys  Statfs(path string, stat *Statfs_t) (err error)
index a4f2944a24eab2115cc5686ea74f9d3886a94c0e..474141b625d29fbb9f0f213a139763006df0ab63 100644 (file)
@@ -95,7 +95,7 @@ func direntNamlen(buf []byte) (uint64, bool) {
        return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 }
 
-//sysnb pipe() (r int, w int, err error)
+//sysnb        pipe() (r int, w int, err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
@@ -105,16 +105,13 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(flags int) (r int, w int, err error)
 
-func Pipe2(p []int, flags int) error {
+func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
                return EINVAL
        }
-       var pp [2]_C_int
-       err := pipe2(&pp, flags)
-       p[0] = int(pp[0])
-       p[1] = int(pp[1])
+       p[0], p[1], err = pipe2(flags)
        return err
 }
 
@@ -170,7 +167,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
-//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
 
 func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {
        err := sysctl(mib, old, oldlen, nil, 0)
@@ -337,8 +334,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 //sys  Unlinkat(dirfd int, path string, flags int) (err error)
 //sys  Unmount(path string, flags int) (err error)
 //sys  write(fd int, p []byte) (n int, err error)
-//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-//sys   munmap(addr uintptr, length uintptr) (err error)
+//sys  mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
+//sys  munmap(addr uintptr, length uintptr) (err error)
 //sys  readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
 //sys  writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
 //sys  accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)
index acc00c2e6a10a4e10e8728805ad674bf6ff52e53..15af63dd5526426d157d055de181ecd944d53ddc 100644 (file)
@@ -188,9 +188,9 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
        return ENOSYS
 }
 
-//sys   ioctl(fd int, req uint, arg uintptr) (err error)
+//sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
-//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
 
 func Uname(uname *Utsname) error {
        mib := []_C_int{CTL_KERN, KERN_OSTYPE}
@@ -665,8 +665,8 @@ func PtraceSingleStep(pid int) (err error) {
 //sys  Unlinkat(dirfd int, path string, flags int) (err error)
 //sys  Unmount(path string, flags int) (err error)
 //sys  write(fd int, p []byte) (n int, err error)
-//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
-//sys   munmap(addr uintptr, length uintptr) (err error)
+//sys  mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
+//sys  munmap(addr uintptr, length uintptr) (err error)
 //sys  readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
 //sys  writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
 //sys  accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)
index bbc4f3ea543963fce397ea4c2a2e2149e950b9d4..7a2d4120fc0816b17cda8251b24e15d5ae07e6b6 100644 (file)
@@ -75,16 +75,3 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
        }
        return
 }
-
-//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
-
-func Pipe2(p []int, flags int) error {
-       if len(p) != 2 {
-               return EINVAL
-       }
-       var pp [2]_C_int
-       err := pipe2(&pp, flags)
-       p[0] = int(pp[0])
-       p[1] = int(pp[1])
-       return err
-}
index 28be1306ec976d018c553eaba5c435de88fdf210..1b210357000afd6ff05e6b206deaf50e8e87773a 100644 (file)
@@ -1482,8 +1482,8 @@ func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error
        return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction)
 }
 
-//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
-//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
+//sys  keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
+//sys  keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
 
 func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
        var msg Msghdr
@@ -1860,8 +1860,8 @@ func Getpgrp() (pid int) {
 //sys  Nanosleep(time *Timespec, leftover *Timespec) (err error)
 //sys  PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
 //sys  PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
-//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
-//sys   Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
+//sysnb        prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
+//sys  Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
 //sys  Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
 //sys  read(fd int, p []byte) (n int, err error)
 //sys  Removexattr(path string, attr string) (err error)
@@ -1934,9 +1934,9 @@ func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
 //sys  Syncfs(fd int) (err error)
 //sysnb        Sysinfo(info *Sysinfo_t) (err error)
 //sys  Tee(rfd int, wfd int, len int, flags int) (n int64, err error)
-//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error)
-//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
-//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
+//sysnb        TimerfdCreate(clockid int, flags int) (fd int, err error)
+//sysnb        TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
+//sysnb        TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
 //sysnb        Tgkill(tgid int, tid int, sig syscall.Signal) (err error)
 //sysnb        Times(tms *Tms) (ticks uintptr, err error)
 //sysnb        Umask(mask int) (oldmask int)
@@ -2196,8 +2196,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
        return EACCES
 }
 
-//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
-//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
+//sys  nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
+//sys  openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
 
 // fileHandle is the argument to nameToHandleAt and openByHandleAt. We
 // originally tried to generate it via unix/linux/types.go with "type
index c97c2ee53e5f58dc54e8a0fe20f7f8393a70189f..70e61bd5db41fb1e28ca7a43cbdd201b4b22d959 100644 (file)
@@ -31,7 +31,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
@@ -98,7 +98,7 @@ type rlimit32 struct {
        Max uint32
 }
 
-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
+//sysnb        getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
 
 const rlimInf32 = ^uint32(0)
 const rlimInf64 = ^uint64(0)
@@ -129,7 +129,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
        return
 }
 
-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
+//sysnb        setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
 
 func Setrlimit(resource int, rlim *Rlimit) (err error) {
        err = prlimit(0, resource, rlim, nil)
index 72efe86ed4ffc3a4c30170ccc31760ecfcf6d3cb..4be2acd32bde323a61b87ba6906164dbd8b14a8f 100644 (file)
@@ -138,7 +138,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index 496837b1e37ef6be10b951761a007d110d930958..322b8e0fb90c6aee7454a67ef5b2a4a45b7de4b8 100644 (file)
@@ -35,7 +35,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
@@ -129,8 +129,8 @@ func Utime(path string, buf *Utimbuf) error {
 
 //sys  utimes(path string, times *[2]Timeval) (err error)
 
-//sys   Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
-//sys   Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
+//sys  Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
+//sys  Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
 //sys  Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
 //sys  Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
 
@@ -177,7 +177,7 @@ type rlimit32 struct {
        Max uint32
 }
 
-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT
+//sysnb        getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT
 
 const rlimInf32 = ^uint32(0)
 const rlimInf64 = ^uint64(0)
@@ -208,7 +208,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
        return
 }
 
-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
+//sysnb        setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
 
 func Setrlimit(resource int, rlim *Rlimit) (err error) {
        err = prlimit(0, resource, rlim, nil)
index c6de6b91345e17209481bacbde10d5ac18b9be1a..9315cf415b75a0fa5a0833e35e23820a22413e06 100644 (file)
@@ -155,7 +155,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index f0287476cd5d0b3d53203b6c49088c0153dc335e..5fc8a47f4148f96e29df63f99f62ecaa7569ff1b 100644 (file)
@@ -104,7 +104,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index c11328111d14dca9c0d83399825a67338b5b36fe..20b9825f87b08aab90e768d9230604b3c49c8e8a 100644 (file)
@@ -112,7 +112,7 @@ func setTimeval(sec, usec int64) Timeval {
        return Timeval{Sec: int32(sec), Usec: int32(usec)}
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
@@ -125,7 +125,7 @@ func Pipe2(p []int, flags int) (err error) {
        return
 }
 
-//sysnb pipe() (p1 int, p2 int, err error)
+//sysnb        pipe() (p1 int, p2 int, err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
@@ -153,7 +153,7 @@ type rlimit32 struct {
        Max uint32
 }
 
-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
+//sysnb        getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
 
 func Getrlimit(resource int, rlim *Rlimit) (err error) {
        err = prlimit(0, resource, nil, rlim)
@@ -181,7 +181,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
        return
 }
 
-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
+//sysnb        setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
 
 func Setrlimit(resource int, rlim *Rlimit) (err error) {
        err = prlimit(0, resource, rlim, nil)
index 349374409ba194f5ba586e3601e6bf382947e4fa..5162c39b0e125f0b8000d828ea2365e6e788051c 100644 (file)
@@ -99,7 +99,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
        cmsg.Len = uint64(length)
 }
 
-//sysnb pipe(p *[2]_C_int) (err error)
+//sysnb        pipe(p *[2]_C_int) (err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
@@ -112,7 +112,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index b0b1505565b3bcc835291497043b2e26b67b5b7d..a6a66ece0995c2c00b01cf916ad73c8c09640b14 100644 (file)
@@ -154,7 +154,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index 2363f749913b8143f3b7337a4fbe1f69108a84a3..fcef0d1daf96dea29ef8a0f59367af800f2b62a7 100644 (file)
@@ -76,7 +76,7 @@ func setTimeval(sec, usec int64) Timeval {
        return Timeval{Sec: sec, Usec: usec}
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
index d389f1518faf0358ced16527de5d8cbac4560072..3b88044830184595d16ecabe21e2806e618ba887 100644 (file)
@@ -115,7 +115,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
        cmsg.Len = uint64(length)
 }
 
-//sysnb pipe(p *[2]_C_int) (err error)
+//sysnb        pipe(p *[2]_C_int) (err error)
 
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
@@ -128,7 +128,7 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
 
 func Pipe2(p []int, flags int) (err error) {
        if len(p) != 2 {
index 1e6843b4c3dacb31c5d25940da4fbe302e2be7c3..853d5f0f4365d6aff5f479a37769cb5c11e17482 100644 (file)
@@ -110,7 +110,8 @@ func direntNamlen(buf []byte) (uint64, bool) {
        return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 }
 
-//sysnb pipe() (fd1 int, fd2 int, err error)
+//sysnb        pipe() (fd1 int, fd2 int, err error)
+
 func Pipe(p []int) (err error) {
        if len(p) != 2 {
                return EINVAL
@@ -119,7 +120,21 @@ func Pipe(p []int) (err error) {
        return
 }
 
-//sys Getdents(fd int, buf []byte) (n int, err error)
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
+
+func Pipe2(p []int, flags int) error {
+       if len(p) != 2 {
+               return EINVAL
+       }
+       var pp [2]_C_int
+       err := pipe2(&pp, flags)
+       p[0] = int(pp[0])
+       p[1] = int(pp[1])
+       return err
+}
+
+//sys  Getdents(fd int, buf []byte) (n int, err error)
+
 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
        n, err = Getdents(fd, buf)
        if err != nil || basep == nil {
@@ -159,7 +174,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
-//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
 
 func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) {
        var value Ptmget
index 6a50b50bd69247d8cb8d9d8b200bebbb17efc9c0..22b55038501f5f6e266dae89ca48d0a93d1c63c2 100644 (file)
@@ -92,7 +92,7 @@ func Pipe2(p []int, flags int) error {
        return err
 }
 
-//sys Getdents(fd int, buf []byte) (n int, err error)
+//sys  Getdents(fd int, buf []byte) (n int, err error)
 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
        n, err = Getdents(fd, buf)
        if err != nil || basep == nil {
@@ -154,7 +154,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 
 //sys  ioctl(fd int, req uint, arg uintptr) (err error)
 
-//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys  sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
 
 //sys  ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
 
index fee6e995289112f5c3a688eee0d9a7ad4dd3e577..169497f0620e478d652fa58ba32ad55c298b6adc 100644 (file)
@@ -68,6 +68,19 @@ func Pipe(p []int) (err error) {
        return nil
 }
 
+//sysnb        pipe2(p *[2]_C_int, flags int) (err error)
+
+func Pipe2(p []int, flags int) error {
+       if len(p) != 2 {
+               return EINVAL
+       }
+       var pp [2]_C_int
+       err := pipe2(&pp, flags)
+       p[0] = int(pp[0])
+       p[1] = int(pp[1])
+       return err
+}
+
 func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
        if sa.Port < 0 || sa.Port > 0xFFFF {
                return nil, 0, EINVAL
@@ -566,7 +579,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
        return &value, err
 }
 
-//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)
+//sys  poll(fds *PollFd, nfds int, timeout int) (n int, err error)
 
 func Poll(fds []PollFd, timeout int) (n int, err error) {
        if len(fds) == 0 {
@@ -669,6 +682,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 //sys  Statvfs(path string, vfsstat *Statvfs_t) (err error)
 //sys  Symlink(path string, link string) (err error)
 //sys  Sync() (err error)
+//sys  Sysconf(which int) (n int64, err error)
 //sysnb        Times(tms *Tms) (ticks uintptr, err error)
 //sys  Truncate(path string, length int64) (err error)
 //sys  Fsync(fd int) (err error)
index 4a672f56942abd067302123f5da066b038d79807..103604299e2a3d9942a069309734aa436e21e7db 100644 (file)
@@ -8,12 +8,10 @@ package unix
 
 import "time"
 
-// TimespecToNsec converts a Timespec value into a number of
-// nanoseconds since the Unix epoch.
-func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+// TimespecToNSec returns the time stored in ts as nanoseconds.
+func TimespecToNsec(ts Timespec) int64 { return ts.Nano() }
 
-// NsecToTimespec takes a number of nanoseconds since the Unix epoch
-// and returns the corresponding Timespec value.
+// NsecToTimespec converts a number of nanoseconds into a Timespec.
 func NsecToTimespec(nsec int64) Timespec {
        sec := nsec / 1e9
        nsec = nsec % 1e9
@@ -42,12 +40,10 @@ func TimeToTimespec(t time.Time) (Timespec, error) {
        return ts, nil
 }
 
-// TimevalToNsec converts a Timeval value into a number of nanoseconds
-// since the Unix epoch.
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
+// TimevalToNsec returns the time stored in tv as nanoseconds.
+func TimevalToNsec(tv Timeval) int64 { return tv.Nano() }
 
-// NsecToTimeval takes a number of nanoseconds since the Unix epoch
-// and returns the corresponding Timeval value.
+// NsecToTimeval converts a number of nanoseconds into a Timeval.
 func NsecToTimeval(nsec int64) Timeval {
        nsec += 999 // round up to microsecond
        usec := nsec % 1e9 / 1e3
@@ -59,24 +55,22 @@ func NsecToTimeval(nsec int64) Timeval {
        return setTimeval(sec, usec)
 }
 
-// Unix returns ts as the number of seconds and nanoseconds elapsed since the
-// Unix epoch.
+// Unix returns the time stored in ts as seconds plus nanoseconds.
 func (ts *Timespec) Unix() (sec int64, nsec int64) {
        return int64(ts.Sec), int64(ts.Nsec)
 }
 
-// Unix returns tv as the number of seconds and nanoseconds elapsed since the
-// Unix epoch.
+// Unix returns the time stored in tv as seconds plus nanoseconds.
 func (tv *Timeval) Unix() (sec int64, nsec int64) {
        return int64(tv.Sec), int64(tv.Usec) * 1000
 }
 
-// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch.
+// Nano returns the time stored in ts as nanoseconds.
 func (ts *Timespec) Nano() int64 {
        return int64(ts.Sec)*1e9 + int64(ts.Nsec)
 }
 
-// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch.
+// Nano returns the time stored in tv as nanoseconds.
 func (tv *Timeval) Nano() int64 {
        return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
 }
index fea5dfaadb9b8936ac02c422798cd2feb46ccb43..dcb96c26c08cf524ab73f3ba151d649833016198 100644 (file)
@@ -32,7 +32,7 @@ const (
        AF_LAT                            = 0xe
        AF_LINK                           = 0x12
        AF_LOCAL                          = 0x1
-       AF_MAX                            = 0x28
+       AF_MAX                            = 0x29
        AF_NATM                           = 0x1f
        AF_NDRV                           = 0x1b
        AF_NETBIOS                        = 0x21
@@ -49,6 +49,7 @@ const (
        AF_UNIX                           = 0x1
        AF_UNSPEC                         = 0x0
        AF_UTUN                           = 0x26
+       AF_VSOCK                          = 0x28
        ALTWERASE                         = 0x200
        ATTR_BIT_MAP_COUNT                = 0x5
        ATTR_CMN_ACCESSMASK               = 0x20000
@@ -83,7 +84,7 @@ const (
        ATTR_CMN_PAROBJID                 = 0x80
        ATTR_CMN_RETURNED_ATTRS           = 0x80000000
        ATTR_CMN_SCRIPT                   = 0x100
-       ATTR_CMN_SETMASK                  = 0x41c7ff00
+       ATTR_CMN_SETMASK                  = 0x51c7ff00
        ATTR_CMN_USERACCESS               = 0x200000
        ATTR_CMN_UUID                     = 0x800000
        ATTR_CMN_VALIDMASK                = 0xffffffff
@@ -357,7 +358,7 @@ const (
        DLT_LINUX_SLL                     = 0x71
        DLT_LOOP                          = 0x6c
        DLT_LTALK                         = 0x72
-       DLT_MATCHING_MAX                  = 0xf5
+       DLT_MATCHING_MAX                  = 0x10a
        DLT_MATCHING_MIN                  = 0x68
        DLT_MFR                           = 0xb6
        DLT_MOST                          = 0xd3
@@ -398,6 +399,7 @@ const (
        DLT_SYMANTEC_FIREWALL             = 0x63
        DLT_TZSP                          = 0x80
        DLT_USB                           = 0xba
+       DLT_USB_DARWIN                    = 0x10a
        DLT_USB_LINUX                     = 0xbd
        DLT_USB_LINUX_MMAPPED             = 0xdc
        DLT_USER0                         = 0x93
@@ -442,8 +444,8 @@ const (
        EVFILT_PROC                       = -0x5
        EVFILT_READ                       = -0x1
        EVFILT_SIGNAL                     = -0x6
-       EVFILT_SYSCOUNT                   = 0xf
-       EVFILT_THREADMARKER               = 0xf
+       EVFILT_SYSCOUNT                   = 0x11
+       EVFILT_THREADMARKER               = 0x11
        EVFILT_TIMER                      = -0x7
        EVFILT_USER                       = -0xa
        EVFILT_VM                         = -0xc
@@ -481,9 +483,12 @@ const (
        FSOPT_NOINMEMUPDATE               = 0x2
        FSOPT_PACK_INVAL_ATTRS            = 0x8
        FSOPT_REPORT_FULLSIZE             = 0x4
+       FSOPT_RETURN_REALDEV              = 0x200
        F_ADDFILESIGS                     = 0x3d
        F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
+       F_ADDFILESIGS_INFO                = 0x67
        F_ADDFILESIGS_RETURN              = 0x61
+       F_ADDFILESUPPL                    = 0x68
        F_ADDSIGS                         = 0x3b
        F_ALLOCATEALL                     = 0x4
        F_ALLOCATECONTIG                  = 0x2
@@ -505,8 +510,10 @@ const (
        F_GETOWN                          = 0x5
        F_GETPATH                         = 0x32
        F_GETPATH_MTMINFO                 = 0x47
+       F_GETPATH_NOFIRMLINK              = 0x66
        F_GETPROTECTIONCLASS              = 0x3f
        F_GETPROTECTIONLEVEL              = 0x4d
+       F_GETSIGSINFO                     = 0x69
        F_GLOBAL_NOCACHE                  = 0x37
        F_LOG2PHYS                        = 0x31
        F_LOG2PHYS_EXT                    = 0x41
@@ -531,6 +538,7 @@ const (
        F_SETPROTECTIONCLASS              = 0x40
        F_SETSIZE                         = 0x2b
        F_SINGLE_WRITER                   = 0x4c
+       F_SPECULATIVE_READ                = 0x65
        F_THAW_FS                         = 0x36
        F_TRANSCODEKEY                    = 0x4b
        F_TRIM_ACTIVE_FILE                = 0x64
@@ -562,6 +570,7 @@ const (
        IFF_UP                            = 0x1
        IFNAMSIZ                          = 0x10
        IFT_1822                          = 0x2
+       IFT_6LOWPAN                       = 0x40
        IFT_AAL5                          = 0x31
        IFT_ARCNET                        = 0x23
        IFT_ARCNETPLUS                    = 0x24
@@ -766,6 +775,9 @@ const (
        IPV6_2292PKTINFO                  = 0x13
        IPV6_2292PKTOPTIONS               = 0x19
        IPV6_2292RTHDR                    = 0x18
+       IPV6_ADDR_MC_FLAGS_PREFIX         = 0x20
+       IPV6_ADDR_MC_FLAGS_TRANSIENT      = 0x10
+       IPV6_ADDR_MC_FLAGS_UNICAST_BASED  = 0x30
        IPV6_BINDV6ONLY                   = 0x1b
        IPV6_BOUND_IF                     = 0x7d
        IPV6_CHECKSUM                     = 0x1a
@@ -775,7 +787,7 @@ const (
        IPV6_FAITH                        = 0x1d
        IPV6_FLOWINFO_MASK                = 0xffffff0f
        IPV6_FLOWLABEL_MASK               = 0xffff0f00
-       IPV6_FLOW_ECN_MASK                = 0x300
+       IPV6_FLOW_ECN_MASK                = 0x3000
        IPV6_FRAGTTL                      = 0x3c
        IPV6_FW_ADD                       = 0x1e
        IPV6_FW_DEL                       = 0x1f
@@ -818,6 +830,7 @@ const (
        IP_DEFAULT_MULTICAST_LOOP         = 0x1
        IP_DEFAULT_MULTICAST_TTL          = 0x1
        IP_DF                             = 0x4000
+       IP_DONTFRAG                       = 0x1c
        IP_DROP_MEMBERSHIP                = 0xd
        IP_DROP_SOURCE_MEMBERSHIP         = 0x47
        IP_DUMMYNET_CONFIGURE             = 0x3c
@@ -889,6 +902,12 @@ const (
        KERN_OSRELEASE                    = 0x2
        KERN_OSTYPE                       = 0x1
        KERN_VERSION                      = 0x4
+       LOCAL_PEERCRED                    = 0x1
+       LOCAL_PEEREPID                    = 0x3
+       LOCAL_PEEREUUID                   = 0x5
+       LOCAL_PEERPID                     = 0x2
+       LOCAL_PEERTOKEN                   = 0x6
+       LOCAL_PEERUUID                    = 0x4
        LOCK_EX                           = 0x2
        LOCK_NB                           = 0x4
        LOCK_SH                           = 0x1
@@ -904,6 +923,7 @@ const (
        MADV_SEQUENTIAL                   = 0x2
        MADV_WILLNEED                     = 0x3
        MADV_ZERO_WIRED_PAGES             = 0x6
+       MAP_32BIT                         = 0x8000
        MAP_ANON                          = 0x1000
        MAP_ANONYMOUS                     = 0x1000
        MAP_COPY                          = 0x2
@@ -920,6 +940,17 @@ const (
        MAP_RESILIENT_CODESIGN            = 0x2000
        MAP_RESILIENT_MEDIA               = 0x4000
        MAP_SHARED                        = 0x1
+       MAP_TRANSLATED_ALLOW_EXECUTE      = 0x20000
+       MAP_UNIX03                        = 0x40000
+       MCAST_BLOCK_SOURCE                = 0x54
+       MCAST_EXCLUDE                     = 0x2
+       MCAST_INCLUDE                     = 0x1
+       MCAST_JOIN_GROUP                  = 0x50
+       MCAST_JOIN_SOURCE_GROUP           = 0x52
+       MCAST_LEAVE_GROUP                 = 0x51
+       MCAST_LEAVE_SOURCE_GROUP          = 0x53
+       MCAST_UNBLOCK_SOURCE              = 0x55
+       MCAST_UNDEFINED                   = 0x0
        MCL_CURRENT                       = 0x1
        MCL_FUTURE                        = 0x2
        MNT_ASYNC                         = 0x40
@@ -931,6 +962,7 @@ const (
        MNT_DOVOLFS                       = 0x8000
        MNT_DWAIT                         = 0x4
        MNT_EXPORTED                      = 0x100
+       MNT_EXT_ROOT_DATA_VOL             = 0x1
        MNT_FORCE                         = 0x80000
        MNT_IGNORE_OWNERSHIP              = 0x200000
        MNT_JOURNALED                     = 0x800000
@@ -947,12 +979,15 @@ const (
        MNT_QUOTA                         = 0x2000
        MNT_RDONLY                        = 0x1
        MNT_RELOAD                        = 0x40000
+       MNT_REMOVABLE                     = 0x200
        MNT_ROOTFS                        = 0x4000
+       MNT_SNAPSHOT                      = 0x40000000
+       MNT_STRICTATIME                   = 0x80000000
        MNT_SYNCHRONOUS                   = 0x2
        MNT_UNION                         = 0x20
        MNT_UNKNOWNPERMISSIONS            = 0x200000
        MNT_UPDATE                        = 0x10000
-       MNT_VISFLAGMASK                   = 0x17f0f5ff
+       MNT_VISFLAGMASK                   = 0xd7f0f7ff
        MNT_WAIT                          = 0x1
        MSG_CTRUNC                        = 0x20
        MSG_DONTROUTE                     = 0x4
@@ -963,6 +998,7 @@ const (
        MSG_HAVEMORE                      = 0x2000
        MSG_HOLD                          = 0x800
        MSG_NEEDSA                        = 0x10000
+       MSG_NOSIGNAL                      = 0x80000
        MSG_OOB                           = 0x1
        MSG_PEEK                          = 0x2
        MSG_RCVMORE                       = 0x4000
@@ -979,9 +1015,10 @@ const (
        NET_RT_DUMP                       = 0x1
        NET_RT_DUMP2                      = 0x7
        NET_RT_FLAGS                      = 0x2
+       NET_RT_FLAGS_PRIV                 = 0xa
        NET_RT_IFLIST                     = 0x3
        NET_RT_IFLIST2                    = 0x6
-       NET_RT_MAXID                      = 0xa
+       NET_RT_MAXID                      = 0xb
        NET_RT_STAT                       = 0x4
        NET_RT_TRASH                      = 0x5
        NFDBITS                           = 0x20
@@ -1019,6 +1056,7 @@ const (
        NOTE_LEEWAY                       = 0x10
        NOTE_LINK                         = 0x10
        NOTE_LOWAT                        = 0x1
+       NOTE_MACHTIME                     = 0x100
        NOTE_MACH_CONTINUOUS_TIME         = 0x80
        NOTE_NONE                         = 0x80
        NOTE_NSECONDS                     = 0x4
@@ -1065,6 +1103,7 @@ const (
        O_NDELAY                          = 0x4
        O_NOCTTY                          = 0x20000
        O_NOFOLLOW                        = 0x100
+       O_NOFOLLOW_ANY                    = 0x20000000
        O_NONBLOCK                        = 0x4
        O_POPUP                           = 0x80000000
        O_RDONLY                          = 0x0
@@ -1136,6 +1175,7 @@ const (
        RTF_BROADCAST                     = 0x400000
        RTF_CLONING                       = 0x100
        RTF_CONDEMNED                     = 0x2000000
+       RTF_DEAD                          = 0x20000000
        RTF_DELCLONE                      = 0x80
        RTF_DONE                          = 0x40
        RTF_DYNAMIC                       = 0x10
@@ -1143,6 +1183,7 @@ const (
        RTF_HOST                          = 0x4
        RTF_IFREF                         = 0x4000000
        RTF_IFSCOPE                       = 0x1000000
+       RTF_LLDATA                        = 0x400
        RTF_LLINFO                        = 0x400
        RTF_LOCAL                         = 0x200000
        RTF_MODIFIED                      = 0x20
@@ -1210,6 +1251,7 @@ const (
        SIOCGDRVSPEC                      = 0xc028697b
        SIOCGETVLAN                       = 0xc020697f
        SIOCGHIWAT                        = 0x40047301
+       SIOCGIF6LOWPAN                    = 0xc02069c5
        SIOCGIFADDR                       = 0xc0206921
        SIOCGIFALTMTU                     = 0xc0206948
        SIOCGIFASYNCMAP                   = 0xc020697c
@@ -1220,6 +1262,7 @@ const (
        SIOCGIFDEVMTU                     = 0xc0206944
        SIOCGIFDSTADDR                    = 0xc0206922
        SIOCGIFFLAGS                      = 0xc0206911
+       SIOCGIFFUNCTIONALTYPE             = 0xc02069ad
        SIOCGIFGENERIC                    = 0xc020693a
        SIOCGIFKPI                        = 0xc0206987
        SIOCGIFMAC                        = 0xc0206982
@@ -1233,6 +1276,7 @@ const (
        SIOCGIFSTATUS                     = 0xc331693d
        SIOCGIFVLAN                       = 0xc020697f
        SIOCGIFWAKEFLAGS                  = 0xc0206988
+       SIOCGIFXMEDIA                     = 0xc02c6948
        SIOCGLOWAT                        = 0x40047303
        SIOCGPGRP                         = 0x40047309
        SIOCIFCREATE                      = 0xc0206978
@@ -1243,6 +1287,7 @@ const (
        SIOCSDRVSPEC                      = 0x8028697b
        SIOCSETVLAN                       = 0x8020697e
        SIOCSHIWAT                        = 0x80047300
+       SIOCSIF6LOWPAN                    = 0x802069c4
        SIOCSIFADDR                       = 0x8020690c
        SIOCSIFALTMTU                     = 0x80206945
        SIOCSIFASYNCMAP                   = 0x8020697d
@@ -1270,6 +1315,7 @@ const (
        SOCK_RDM                          = 0x4
        SOCK_SEQPACKET                    = 0x5
        SOCK_STREAM                       = 0x1
+       SOL_LOCAL                         = 0x0
        SOL_SOCKET                        = 0xffff
        SOMAXCONN                         = 0x80
        SO_ACCEPTCONN                     = 0x2
index b40fb1f69675f22ba4ca795c6de7dd0f929efbe5..8602b136332293461d828c0d85f5bae6055aad45 100644 (file)
@@ -32,7 +32,7 @@ const (
        AF_LAT                            = 0xe
        AF_LINK                           = 0x12
        AF_LOCAL                          = 0x1
-       AF_MAX                            = 0x28
+       AF_MAX                            = 0x29
        AF_NATM                           = 0x1f
        AF_NDRV                           = 0x1b
        AF_NETBIOS                        = 0x21
@@ -49,6 +49,7 @@ const (
        AF_UNIX                           = 0x1
        AF_UNSPEC                         = 0x0
        AF_UTUN                           = 0x26
+       AF_VSOCK                          = 0x28
        ALTWERASE                         = 0x200
        ATTR_BIT_MAP_COUNT                = 0x5
        ATTR_CMN_ACCESSMASK               = 0x20000
@@ -83,7 +84,7 @@ const (
        ATTR_CMN_PAROBJID                 = 0x80
        ATTR_CMN_RETURNED_ATTRS           = 0x80000000
        ATTR_CMN_SCRIPT                   = 0x100
-       ATTR_CMN_SETMASK                  = 0x41c7ff00
+       ATTR_CMN_SETMASK                  = 0x51c7ff00
        ATTR_CMN_USERACCESS               = 0x200000
        ATTR_CMN_UUID                     = 0x800000
        ATTR_CMN_VALIDMASK                = 0xffffffff
@@ -357,7 +358,7 @@ const (
        DLT_LINUX_SLL                     = 0x71
        DLT_LOOP                          = 0x6c
        DLT_LTALK                         = 0x72
-       DLT_MATCHING_MAX                  = 0xf5
+       DLT_MATCHING_MAX                  = 0x10a
        DLT_MATCHING_MIN                  = 0x68
        DLT_MFR                           = 0xb6
        DLT_MOST                          = 0xd3
@@ -398,6 +399,7 @@ const (
        DLT_SYMANTEC_FIREWALL             = 0x63
        DLT_TZSP                          = 0x80
        DLT_USB                           = 0xba
+       DLT_USB_DARWIN                    = 0x10a
        DLT_USB_LINUX                     = 0xbd
        DLT_USB_LINUX_MMAPPED             = 0xdc
        DLT_USER0                         = 0x93
@@ -442,8 +444,8 @@ const (
        EVFILT_PROC                       = -0x5
        EVFILT_READ                       = -0x1
        EVFILT_SIGNAL                     = -0x6
-       EVFILT_SYSCOUNT                   = 0xf
-       EVFILT_THREADMARKER               = 0xf
+       EVFILT_SYSCOUNT                   = 0x11
+       EVFILT_THREADMARKER               = 0x11
        EVFILT_TIMER                      = -0x7
        EVFILT_USER                       = -0xa
        EVFILT_VM                         = -0xc
@@ -481,9 +483,12 @@ const (
        FSOPT_NOINMEMUPDATE               = 0x2
        FSOPT_PACK_INVAL_ATTRS            = 0x8
        FSOPT_REPORT_FULLSIZE             = 0x4
+       FSOPT_RETURN_REALDEV              = 0x200
        F_ADDFILESIGS                     = 0x3d
        F_ADDFILESIGS_FOR_DYLD_SIM        = 0x53
+       F_ADDFILESIGS_INFO                = 0x67
        F_ADDFILESIGS_RETURN              = 0x61
+       F_ADDFILESUPPL                    = 0x68
        F_ADDSIGS                         = 0x3b
        F_ALLOCATEALL                     = 0x4
        F_ALLOCATECONTIG                  = 0x2
@@ -505,8 +510,10 @@ const (
        F_GETOWN                          = 0x5
        F_GETPATH                         = 0x32
        F_GETPATH_MTMINFO                 = 0x47
+       F_GETPATH_NOFIRMLINK              = 0x66
        F_GETPROTECTIONCLASS              = 0x3f
        F_GETPROTECTIONLEVEL              = 0x4d
+       F_GETSIGSINFO                     = 0x69
        F_GLOBAL_NOCACHE                  = 0x37
        F_LOG2PHYS                        = 0x31
        F_LOG2PHYS_EXT                    = 0x41
@@ -531,6 +538,7 @@ const (
        F_SETPROTECTIONCLASS              = 0x40
        F_SETSIZE                         = 0x2b
        F_SINGLE_WRITER                   = 0x4c
+       F_SPECULATIVE_READ                = 0x65
        F_THAW_FS                         = 0x36
        F_TRANSCODEKEY                    = 0x4b
        F_TRIM_ACTIVE_FILE                = 0x64
@@ -562,6 +570,7 @@ const (
        IFF_UP                            = 0x1
        IFNAMSIZ                          = 0x10
        IFT_1822                          = 0x2
+       IFT_6LOWPAN                       = 0x40
        IFT_AAL5                          = 0x31
        IFT_ARCNET                        = 0x23
        IFT_ARCNETPLUS                    = 0x24
@@ -766,6 +775,9 @@ const (
        IPV6_2292PKTINFO                  = 0x13
        IPV6_2292PKTOPTIONS               = 0x19
        IPV6_2292RTHDR                    = 0x18
+       IPV6_ADDR_MC_FLAGS_PREFIX         = 0x20
+       IPV6_ADDR_MC_FLAGS_TRANSIENT      = 0x10
+       IPV6_ADDR_MC_FLAGS_UNICAST_BASED  = 0x30
        IPV6_BINDV6ONLY                   = 0x1b
        IPV6_BOUND_IF                     = 0x7d
        IPV6_CHECKSUM                     = 0x1a
@@ -775,7 +787,7 @@ const (
        IPV6_FAITH                        = 0x1d
        IPV6_FLOWINFO_MASK                = 0xffffff0f
        IPV6_FLOWLABEL_MASK               = 0xffff0f00
-       IPV6_FLOW_ECN_MASK                = 0x300
+       IPV6_FLOW_ECN_MASK                = 0x3000
        IPV6_FRAGTTL                      = 0x3c
        IPV6_FW_ADD                       = 0x1e
        IPV6_FW_DEL                       = 0x1f
@@ -818,6 +830,7 @@ const (
        IP_DEFAULT_MULTICAST_LOOP         = 0x1
        IP_DEFAULT_MULTICAST_TTL          = 0x1
        IP_DF                             = 0x4000
+       IP_DONTFRAG                       = 0x1c
        IP_DROP_MEMBERSHIP                = 0xd
        IP_DROP_SOURCE_MEMBERSHIP         = 0x47
        IP_DUMMYNET_CONFIGURE             = 0x3c
@@ -889,6 +902,12 @@ const (
        KERN_OSRELEASE                    = 0x2
        KERN_OSTYPE                       = 0x1
        KERN_VERSION                      = 0x4
+       LOCAL_PEERCRED                    = 0x1
+       LOCAL_PEEREPID                    = 0x3
+       LOCAL_PEEREUUID                   = 0x5
+       LOCAL_PEERPID                     = 0x2
+       LOCAL_PEERTOKEN                   = 0x6
+       LOCAL_PEERUUID                    = 0x4
        LOCK_EX                           = 0x2
        LOCK_NB                           = 0x4
        LOCK_SH                           = 0x1
@@ -904,6 +923,7 @@ const (
        MADV_SEQUENTIAL                   = 0x2
        MADV_WILLNEED                     = 0x3
        MADV_ZERO_WIRED_PAGES             = 0x6
+       MAP_32BIT                         = 0x8000
        MAP_ANON                          = 0x1000
        MAP_ANONYMOUS                     = 0x1000
        MAP_COPY                          = 0x2
@@ -920,6 +940,17 @@ const (
        MAP_RESILIENT_CODESIGN            = 0x2000
        MAP_RESILIENT_MEDIA               = 0x4000
        MAP_SHARED                        = 0x1
+       MAP_TRANSLATED_ALLOW_EXECUTE      = 0x20000
+       MAP_UNIX03                        = 0x40000
+       MCAST_BLOCK_SOURCE                = 0x54
+       MCAST_EXCLUDE                     = 0x2
+       MCAST_INCLUDE                     = 0x1
+       MCAST_JOIN_GROUP                  = 0x50
+       MCAST_JOIN_SOURCE_GROUP           = 0x52
+       MCAST_LEAVE_GROUP                 = 0x51
+       MCAST_LEAVE_SOURCE_GROUP          = 0x53
+       MCAST_UNBLOCK_SOURCE              = 0x55
+       MCAST_UNDEFINED                   = 0x0
        MCL_CURRENT                       = 0x1
        MCL_FUTURE                        = 0x2
        MNT_ASYNC                         = 0x40
@@ -931,6 +962,7 @@ const (
        MNT_DOVOLFS                       = 0x8000
        MNT_DWAIT                         = 0x4
        MNT_EXPORTED                      = 0x100
+       MNT_EXT_ROOT_DATA_VOL             = 0x1
        MNT_FORCE                         = 0x80000
        MNT_IGNORE_OWNERSHIP              = 0x200000
        MNT_JOURNALED                     = 0x800000
@@ -947,12 +979,15 @@ const (
        MNT_QUOTA                         = 0x2000
        MNT_RDONLY                        = 0x1
        MNT_RELOAD                        = 0x40000
+       MNT_REMOVABLE                     = 0x200
        MNT_ROOTFS                        = 0x4000
+       MNT_SNAPSHOT                      = 0x40000000
+       MNT_STRICTATIME                   = 0x80000000
        MNT_SYNCHRONOUS                   = 0x2
        MNT_UNION                         = 0x20
        MNT_UNKNOWNPERMISSIONS            = 0x200000
        MNT_UPDATE                        = 0x10000
-       MNT_VISFLAGMASK                   = 0x17f0f5ff
+       MNT_VISFLAGMASK                   = 0xd7f0f7ff
        MNT_WAIT                          = 0x1
        MSG_CTRUNC                        = 0x20
        MSG_DONTROUTE                     = 0x4
@@ -963,6 +998,7 @@ const (
        MSG_HAVEMORE                      = 0x2000
        MSG_HOLD                          = 0x800
        MSG_NEEDSA                        = 0x10000
+       MSG_NOSIGNAL                      = 0x80000
        MSG_OOB                           = 0x1
        MSG_PEEK                          = 0x2
        MSG_RCVMORE                       = 0x4000
@@ -979,9 +1015,10 @@ const (
        NET_RT_DUMP                       = 0x1
        NET_RT_DUMP2                      = 0x7
        NET_RT_FLAGS                      = 0x2
+       NET_RT_FLAGS_PRIV                 = 0xa
        NET_RT_IFLIST                     = 0x3
        NET_RT_IFLIST2                    = 0x6
-       NET_RT_MAXID                      = 0xa
+       NET_RT_MAXID                      = 0xb
        NET_RT_STAT                       = 0x4
        NET_RT_TRASH                      = 0x5
        NFDBITS                           = 0x20
@@ -1019,6 +1056,7 @@ const (
        NOTE_LEEWAY                       = 0x10
        NOTE_LINK                         = 0x10
        NOTE_LOWAT                        = 0x1
+       NOTE_MACHTIME                     = 0x100
        NOTE_MACH_CONTINUOUS_TIME         = 0x80
        NOTE_NONE                         = 0x80
        NOTE_NSECONDS                     = 0x4
@@ -1065,6 +1103,7 @@ const (
        O_NDELAY                          = 0x4
        O_NOCTTY                          = 0x20000
        O_NOFOLLOW                        = 0x100
+       O_NOFOLLOW_ANY                    = 0x20000000
        O_NONBLOCK                        = 0x4
        O_POPUP                           = 0x80000000
        O_RDONLY                          = 0x0
@@ -1136,6 +1175,7 @@ const (
        RTF_BROADCAST                     = 0x400000
        RTF_CLONING                       = 0x100
        RTF_CONDEMNED                     = 0x2000000
+       RTF_DEAD                          = 0x20000000
        RTF_DELCLONE                      = 0x80
        RTF_DONE                          = 0x40
        RTF_DYNAMIC                       = 0x10
@@ -1143,6 +1183,7 @@ const (
        RTF_HOST                          = 0x4
        RTF_IFREF                         = 0x4000000
        RTF_IFSCOPE                       = 0x1000000
+       RTF_LLDATA                        = 0x400
        RTF_LLINFO                        = 0x400
        RTF_LOCAL                         = 0x200000
        RTF_MODIFIED                      = 0x20
@@ -1210,6 +1251,7 @@ const (
        SIOCGDRVSPEC                      = 0xc028697b
        SIOCGETVLAN                       = 0xc020697f
        SIOCGHIWAT                        = 0x40047301
+       SIOCGIF6LOWPAN                    = 0xc02069c5
        SIOCGIFADDR                       = 0xc0206921
        SIOCGIFALTMTU                     = 0xc0206948
        SIOCGIFASYNCMAP                   = 0xc020697c
@@ -1220,6 +1262,7 @@ const (
        SIOCGIFDEVMTU                     = 0xc0206944
        SIOCGIFDSTADDR                    = 0xc0206922
        SIOCGIFFLAGS                      = 0xc0206911
+       SIOCGIFFUNCTIONALTYPE             = 0xc02069ad
        SIOCGIFGENERIC                    = 0xc020693a
        SIOCGIFKPI                        = 0xc0206987
        SIOCGIFMAC                        = 0xc0206982
@@ -1233,6 +1276,7 @@ const (
        SIOCGIFSTATUS                     = 0xc331693d
        SIOCGIFVLAN                       = 0xc020697f
        SIOCGIFWAKEFLAGS                  = 0xc0206988
+       SIOCGIFXMEDIA                     = 0xc02c6948
        SIOCGLOWAT                        = 0x40047303
        SIOCGPGRP                         = 0x40047309
        SIOCIFCREATE                      = 0xc0206978
@@ -1243,6 +1287,7 @@ const (
        SIOCSDRVSPEC                      = 0x8028697b
        SIOCSETVLAN                       = 0x8020697e
        SIOCSHIWAT                        = 0x80047300
+       SIOCSIF6LOWPAN                    = 0x802069c4
        SIOCSIFADDR                       = 0x8020690c
        SIOCSIFALTMTU                     = 0x80206945
        SIOCSIFASYNCMAP                   = 0x8020697d
@@ -1270,6 +1315,7 @@ const (
        SOCK_RDM                          = 0x4
        SOCK_SEQPACKET                    = 0x5
        SOCK_STREAM                       = 0x1
+       SOL_LOCAL                         = 0x0
        SOL_SOCKET                        = 0xffff
        SOMAXCONN                         = 0x80
        SO_ACCEPTCONN                     = 0x2
index b46110354dfbe992cf96a4a40c8da7ffcaeaa5fc..c5e2f4793040112f772d28490bc67997b70119dd 100644 (file)
@@ -65,6 +65,7 @@ const (
        ALG_OP_ENCRYPT                              = 0x1
        ALG_SET_AEAD_ASSOCLEN                       = 0x4
        ALG_SET_AEAD_AUTHSIZE                       = 0x5
+       ALG_SET_DRBG_ENTROPY                        = 0x6
        ALG_SET_IV                                  = 0x2
        ALG_SET_KEY                                 = 0x1
        ALG_SET_OP                                  = 0x3
@@ -179,8 +180,10 @@ const (
        BPF_F_ANY_ALIGNMENT                         = 0x2
        BPF_F_QUERY_EFFECTIVE                       = 0x1
        BPF_F_REPLACE                               = 0x4
+       BPF_F_SLEEPABLE                             = 0x10
        BPF_F_STRICT_ALIGNMENT                      = 0x1
        BPF_F_TEST_RND_HI32                         = 0x4
+       BPF_F_TEST_RUN_ON_CPU                       = 0x1
        BPF_F_TEST_STATE_FREQ                       = 0x8
        BPF_H                                       = 0x8
        BPF_IMM                                     = 0x0
@@ -219,6 +222,7 @@ const (
        BPF_NET_OFF                                 = -0x100000
        BPF_OBJ_NAME_LEN                            = 0x10
        BPF_OR                                      = 0x40
+       BPF_PSEUDO_BTF_ID                           = 0x3
        BPF_PSEUDO_CALL                             = 0x1
        BPF_PSEUDO_MAP_FD                           = 0x1
        BPF_PSEUDO_MAP_VALUE                        = 0x2
@@ -309,6 +313,7 @@ const (
        CAN_J1939                                   = 0x7
        CAN_MAX_DLC                                 = 0x8
        CAN_MAX_DLEN                                = 0x8
+       CAN_MAX_RAW_DLC                             = 0xf
        CAN_MCNET                                   = 0x5
        CAN_MTU                                     = 0x10
        CAN_NPROTO                                  = 0x8
@@ -429,10 +434,13 @@ const (
        DEBUGFS_MAGIC                               = 0x64626720
        DEVLINK_CMD_ESWITCH_MODE_GET                = 0x1d
        DEVLINK_CMD_ESWITCH_MODE_SET                = 0x1e
+       DEVLINK_FLASH_OVERWRITE_IDENTIFIERS         = 0x2
+       DEVLINK_FLASH_OVERWRITE_SETTINGS            = 0x1
        DEVLINK_GENL_MCGRP_CONFIG_NAME              = "config"
        DEVLINK_GENL_NAME                           = "devlink"
        DEVLINK_GENL_VERSION                        = 0x1
        DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX           = 0x14
+       DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS  = 0x3
        DEVMEM_MAGIC                                = 0x454d444d
        DEVPTS_SUPER_MAGIC                          = 0x1cd1
        DMA_BUF_MAGIC                               = 0x444d4142
@@ -477,9 +485,9 @@ const (
        DM_UUID_FLAG                                = 0x4000
        DM_UUID_LEN                                 = 0x81
        DM_VERSION                                  = 0xc138fd00
-       DM_VERSION_EXTRA                            = "-ioctl (2020-02-27)"
+       DM_VERSION_EXTRA                            = "-ioctl (2020-10-01)"
        DM_VERSION_MAJOR                            = 0x4
-       DM_VERSION_MINOR                            = 0x2a
+       DM_VERSION_MINOR                            = 0x2b
        DM_VERSION_PATCHLEVEL                       = 0x0
        DT_BLK                                      = 0x6
        DT_CHR                                      = 0x2
@@ -520,6 +528,119 @@ const (
        EPOLL_CTL_DEL                               = 0x2
        EPOLL_CTL_MOD                               = 0x3
        EROFS_SUPER_MAGIC_V1                        = 0xe0f5e1e2
+       ESP_V4_FLOW                                 = 0xa
+       ESP_V6_FLOW                                 = 0xc
+       ETHER_FLOW                                  = 0x12
+       ETHTOOL_BUSINFO_LEN                         = 0x20
+       ETHTOOL_EROMVERS_LEN                        = 0x20
+       ETHTOOL_FEC_AUTO                            = 0x2
+       ETHTOOL_FEC_BASER                           = 0x10
+       ETHTOOL_FEC_LLRS                            = 0x20
+       ETHTOOL_FEC_NONE                            = 0x1
+       ETHTOOL_FEC_OFF                             = 0x4
+       ETHTOOL_FEC_RS                              = 0x8
+       ETHTOOL_FLAG_ALL                            = 0x7
+       ETHTOOL_FLAG_COMPACT_BITSETS                = 0x1
+       ETHTOOL_FLAG_OMIT_REPLY                     = 0x2
+       ETHTOOL_FLAG_STATS                          = 0x4
+       ETHTOOL_FLASHDEV                            = 0x33
+       ETHTOOL_FLASH_MAX_FILENAME                  = 0x80
+       ETHTOOL_FWVERS_LEN                          = 0x20
+       ETHTOOL_F_COMPAT                            = 0x4
+       ETHTOOL_F_UNSUPPORTED                       = 0x1
+       ETHTOOL_F_WISH                              = 0x2
+       ETHTOOL_GCHANNELS                           = 0x3c
+       ETHTOOL_GCOALESCE                           = 0xe
+       ETHTOOL_GDRVINFO                            = 0x3
+       ETHTOOL_GEEE                                = 0x44
+       ETHTOOL_GEEPROM                             = 0xb
+       ETHTOOL_GENL_NAME                           = "ethtool"
+       ETHTOOL_GENL_VERSION                        = 0x1
+       ETHTOOL_GET_DUMP_DATA                       = 0x40
+       ETHTOOL_GET_DUMP_FLAG                       = 0x3f
+       ETHTOOL_GET_TS_INFO                         = 0x41
+       ETHTOOL_GFEATURES                           = 0x3a
+       ETHTOOL_GFECPARAM                           = 0x50
+       ETHTOOL_GFLAGS                              = 0x25
+       ETHTOOL_GGRO                                = 0x2b
+       ETHTOOL_GGSO                                = 0x23
+       ETHTOOL_GLINK                               = 0xa
+       ETHTOOL_GLINKSETTINGS                       = 0x4c
+       ETHTOOL_GMODULEEEPROM                       = 0x43
+       ETHTOOL_GMODULEINFO                         = 0x42
+       ETHTOOL_GMSGLVL                             = 0x7
+       ETHTOOL_GPAUSEPARAM                         = 0x12
+       ETHTOOL_GPERMADDR                           = 0x20
+       ETHTOOL_GPFLAGS                             = 0x27
+       ETHTOOL_GPHYSTATS                           = 0x4a
+       ETHTOOL_GREGS                               = 0x4
+       ETHTOOL_GRINGPARAM                          = 0x10
+       ETHTOOL_GRSSH                               = 0x46
+       ETHTOOL_GRXCLSRLALL                         = 0x30
+       ETHTOOL_GRXCLSRLCNT                         = 0x2e
+       ETHTOOL_GRXCLSRULE                          = 0x2f
+       ETHTOOL_GRXCSUM                             = 0x14
+       ETHTOOL_GRXFH                               = 0x29
+       ETHTOOL_GRXFHINDIR                          = 0x38
+       ETHTOOL_GRXNTUPLE                           = 0x36
+       ETHTOOL_GRXRINGS                            = 0x2d
+       ETHTOOL_GSET                                = 0x1
+       ETHTOOL_GSG                                 = 0x18
+       ETHTOOL_GSSET_INFO                          = 0x37
+       ETHTOOL_GSTATS                              = 0x1d
+       ETHTOOL_GSTRINGS                            = 0x1b
+       ETHTOOL_GTSO                                = 0x1e
+       ETHTOOL_GTUNABLE                            = 0x48
+       ETHTOOL_GTXCSUM                             = 0x16
+       ETHTOOL_GUFO                                = 0x21
+       ETHTOOL_GWOL                                = 0x5
+       ETHTOOL_MCGRP_MONITOR_NAME                  = "monitor"
+       ETHTOOL_NWAY_RST                            = 0x9
+       ETHTOOL_PERQUEUE                            = 0x4b
+       ETHTOOL_PHYS_ID                             = 0x1c
+       ETHTOOL_PHY_EDPD_DFLT_TX_MSECS              = 0xffff
+       ETHTOOL_PHY_EDPD_DISABLE                    = 0x0
+       ETHTOOL_PHY_EDPD_NO_TX                      = 0xfffe
+       ETHTOOL_PHY_FAST_LINK_DOWN_OFF              = 0xff
+       ETHTOOL_PHY_FAST_LINK_DOWN_ON               = 0x0
+       ETHTOOL_PHY_GTUNABLE                        = 0x4e
+       ETHTOOL_PHY_STUNABLE                        = 0x4f
+       ETHTOOL_RESET                               = 0x34
+       ETHTOOL_RXNTUPLE_ACTION_CLEAR               = -0x2
+       ETHTOOL_RXNTUPLE_ACTION_DROP                = -0x1
+       ETHTOOL_RX_FLOW_SPEC_RING                   = 0xffffffff
+       ETHTOOL_RX_FLOW_SPEC_RING_VF                = 0xff00000000
+       ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF            = 0x20
+       ETHTOOL_SCHANNELS                           = 0x3d
+       ETHTOOL_SCOALESCE                           = 0xf
+       ETHTOOL_SEEE                                = 0x45
+       ETHTOOL_SEEPROM                             = 0xc
+       ETHTOOL_SET_DUMP                            = 0x3e
+       ETHTOOL_SFEATURES                           = 0x3b
+       ETHTOOL_SFECPARAM                           = 0x51
+       ETHTOOL_SFLAGS                              = 0x26
+       ETHTOOL_SGRO                                = 0x2c
+       ETHTOOL_SGSO                                = 0x24
+       ETHTOOL_SLINKSETTINGS                       = 0x4d
+       ETHTOOL_SMSGLVL                             = 0x8
+       ETHTOOL_SPAUSEPARAM                         = 0x13
+       ETHTOOL_SPFLAGS                             = 0x28
+       ETHTOOL_SRINGPARAM                          = 0x11
+       ETHTOOL_SRSSH                               = 0x47
+       ETHTOOL_SRXCLSRLDEL                         = 0x31
+       ETHTOOL_SRXCLSRLINS                         = 0x32
+       ETHTOOL_SRXCSUM                             = 0x15
+       ETHTOOL_SRXFH                               = 0x2a
+       ETHTOOL_SRXFHINDIR                          = 0x39
+       ETHTOOL_SRXNTUPLE                           = 0x35
+       ETHTOOL_SSET                                = 0x2
+       ETHTOOL_SSG                                 = 0x19
+       ETHTOOL_STSO                                = 0x1f
+       ETHTOOL_STUNABLE                            = 0x49
+       ETHTOOL_STXCSUM                             = 0x17
+       ETHTOOL_SUFO                                = 0x22
+       ETHTOOL_SWOL                                = 0x6
+       ETHTOOL_TEST                                = 0x1a
        ETH_P_1588                                  = 0x88f7
        ETH_P_8021AD                                = 0x88a8
        ETH_P_8021AH                                = 0x88e7
@@ -544,6 +665,7 @@ const (
        ETH_P_CAIF                                  = 0xf7
        ETH_P_CAN                                   = 0xc
        ETH_P_CANFD                                 = 0xd
+       ETH_P_CFM                                   = 0x8902
        ETH_P_CONTROL                               = 0x16
        ETH_P_CUST                                  = 0x6006
        ETH_P_DDCMP                                 = 0x6
@@ -714,7 +836,6 @@ const (
        FSCRYPT_POLICY_FLAGS_PAD_4                  = 0x0
        FSCRYPT_POLICY_FLAGS_PAD_8                  = 0x1
        FSCRYPT_POLICY_FLAGS_PAD_MASK               = 0x3
-       FSCRYPT_POLICY_FLAGS_VALID                  = 0x1f
        FSCRYPT_POLICY_FLAG_DIRECT_KEY              = 0x4
        FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32          = 0x10
        FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64          = 0x8
@@ -745,7 +866,7 @@ const (
        FS_POLICY_FLAGS_PAD_4                       = 0x0
        FS_POLICY_FLAGS_PAD_8                       = 0x1
        FS_POLICY_FLAGS_PAD_MASK                    = 0x3
-       FS_POLICY_FLAGS_VALID                       = 0x1f
+       FS_POLICY_FLAGS_VALID                       = 0x7
        FS_VERITY_FL                                = 0x100000
        FS_VERITY_HASH_ALG_SHA256                   = 0x1
        FS_VERITY_HASH_ALG_SHA512                   = 0x2
@@ -989,6 +1110,7 @@ const (
        IPV6_DONTFRAG                               = 0x3e
        IPV6_DROP_MEMBERSHIP                        = 0x15
        IPV6_DSTOPTS                                = 0x3b
+       IPV6_FLOW                                   = 0x11
        IPV6_FREEBIND                               = 0x4e
        IPV6_HDRINCL                                = 0x24
        IPV6_HOPLIMIT                               = 0x34
@@ -1017,6 +1139,7 @@ const (
        IPV6_PMTUDISC_WANT                          = 0x1
        IPV6_RECVDSTOPTS                            = 0x3a
        IPV6_RECVERR                                = 0x19
+       IPV6_RECVERR_RFC4884                        = 0x1f
        IPV6_RECVFRAGSIZE                           = 0x4d
        IPV6_RECVHOPLIMIT                           = 0x33
        IPV6_RECVHOPOPTS                            = 0x35
@@ -1038,6 +1161,7 @@ const (
        IPV6_TRANSPARENT                            = 0x4b
        IPV6_UNICAST_HOPS                           = 0x10
        IPV6_UNICAST_IF                             = 0x4c
+       IPV6_USER_FLOW                              = 0xe
        IPV6_V6ONLY                                 = 0x1a
        IPV6_XFRM_POLICY                            = 0x23
        IP_ADD_MEMBERSHIP                           = 0x23
@@ -1080,6 +1204,7 @@ const (
        IP_PMTUDISC_PROBE                           = 0x3
        IP_PMTUDISC_WANT                            = 0x1
        IP_RECVERR                                  = 0xb
+       IP_RECVERR_RFC4884                          = 0x1a
        IP_RECVFRAGSIZE                             = 0x19
        IP_RECVOPTS                                 = 0x6
        IP_RECVORIGDSTADDR                          = 0x14
@@ -1094,6 +1219,7 @@ const (
        IP_TTL                                      = 0x2
        IP_UNBLOCK_SOURCE                           = 0x25
        IP_UNICAST_IF                               = 0x32
+       IP_USER_FLOW                                = 0xd
        IP_XFRM_POLICY                              = 0x11
        ISOFS_SUPER_MAGIC                           = 0x9660
        ISTRIP                                      = 0x20
@@ -1331,6 +1457,7 @@ const (
        MS_NOREMOTELOCK                             = 0x8000000
        MS_NOSEC                                    = 0x10000000
        MS_NOSUID                                   = 0x2
+       MS_NOSYMFOLLOW                              = 0x100
        MS_NOUSER                                   = -0x80000000
        MS_POSIXACL                                 = 0x10000
        MS_PRIVATE                                  = 0x40000
@@ -1572,7 +1699,7 @@ const (
        PERF_MEM_REMOTE_REMOTE                      = 0x1
        PERF_MEM_REMOTE_SHIFT                       = 0x25
        PERF_MEM_SNOOPX_FWD                         = 0x1
-       PERF_MEM_SNOOPX_SHIFT                       = 0x25
+       PERF_MEM_SNOOPX_SHIFT                       = 0x26
        PERF_MEM_SNOOP_HIT                          = 0x4
        PERF_MEM_SNOOP_HITM                         = 0x10
        PERF_MEM_SNOOP_MISS                         = 0x8
@@ -1672,6 +1799,13 @@ const (
        PR_MCE_KILL_SET                             = 0x1
        PR_MPX_DISABLE_MANAGEMENT                   = 0x2c
        PR_MPX_ENABLE_MANAGEMENT                    = 0x2b
+       PR_MTE_TAG_MASK                             = 0x7fff8
+       PR_MTE_TAG_SHIFT                            = 0x3
+       PR_MTE_TCF_ASYNC                            = 0x4
+       PR_MTE_TCF_MASK                             = 0x6
+       PR_MTE_TCF_NONE                             = 0x0
+       PR_MTE_TCF_SHIFT                            = 0x1
+       PR_MTE_TCF_SYNC                             = 0x2
        PR_PAC_APDAKEY                              = 0x4
        PR_PAC_APDBKEY                              = 0x8
        PR_PAC_APGAKEY                              = 0x10
@@ -1709,6 +1843,7 @@ const (
        PR_SET_SECCOMP                              = 0x16
        PR_SET_SECUREBITS                           = 0x1c
        PR_SET_SPECULATION_CTRL                     = 0x35
+       PR_SET_SYSCALL_USER_DISPATCH                = 0x3b
        PR_SET_TAGGED_ADDR_CTRL                     = 0x37
        PR_SET_THP_DISABLE                          = 0x29
        PR_SET_TIMERSLACK                           = 0x1d
@@ -1728,6 +1863,8 @@ const (
        PR_SVE_SET_VL_ONEXEC                        = 0x40000
        PR_SVE_VL_INHERIT                           = 0x20000
        PR_SVE_VL_LEN_MASK                          = 0xffff
+       PR_SYS_DISPATCH_OFF                         = 0x0
+       PR_SYS_DISPATCH_ON                          = 0x1
        PR_TAGGED_ADDR_ENABLE                       = 0x1
        PR_TASK_PERF_EVENTS_DISABLE                 = 0x1f
        PR_TASK_PERF_EVENTS_ENABLE                  = 0x20
@@ -1973,12 +2110,13 @@ const (
        RTM_SETLINK                                 = 0x13
        RTM_SETNEIGHTBL                             = 0x43
        RTNH_ALIGNTO                                = 0x4
-       RTNH_COMPARE_MASK                           = 0x19
+       RTNH_COMPARE_MASK                           = 0x59
        RTNH_F_DEAD                                 = 0x1
        RTNH_F_LINKDOWN                             = 0x10
        RTNH_F_OFFLOAD                              = 0x8
        RTNH_F_ONLINK                               = 0x4
        RTNH_F_PERVASIVE                            = 0x2
+       RTNH_F_TRAP                                 = 0x40
        RTNH_F_UNRESOLVED                           = 0x20
        RTN_MAX                                     = 0xb
        RTPROT_BABEL                                = 0x2a
@@ -2206,7 +2344,7 @@ const (
        STATX_ATTR_APPEND                           = 0x20
        STATX_ATTR_AUTOMOUNT                        = 0x1000
        STATX_ATTR_COMPRESSED                       = 0x4
-       STATX_ATTR_DAX                              = 0x2000
+       STATX_ATTR_DAX                              = 0x200000
        STATX_ATTR_ENCRYPTED                        = 0x800
        STATX_ATTR_IMMUTABLE                        = 0x10
        STATX_ATTR_MOUNT_ROOT                       = 0x2000
@@ -2325,6 +2463,8 @@ const (
        TCP_TX_DELAY                                = 0x25
        TCP_ULP                                     = 0x1f
        TCP_USER_TIMEOUT                            = 0x12
+       TCP_V4_FLOW                                 = 0x1
+       TCP_V6_FLOW                                 = 0x5
        TCP_WINDOW_CLAMP                            = 0xa
        TCP_ZEROCOPY_RECEIVE                        = 0x23
        TFD_TIMER_ABSTIME                           = 0x1
@@ -2390,6 +2530,7 @@ const (
        TIPC_NODE_STATE                             = 0x0
        TIPC_OK                                     = 0x0
        TIPC_PUBLISHED                              = 0x1
+       TIPC_REKEYING_NOW                           = 0xffffffff
        TIPC_RESERVED_TYPES                         = 0x40
        TIPC_RETDATA                                = 0x2
        TIPC_SERVICE_ADDR                           = 0x2
@@ -2446,10 +2587,12 @@ const (
        VMADDR_CID_HOST                             = 0x2
        VMADDR_CID_HYPERVISOR                       = 0x0
        VMADDR_CID_LOCAL                            = 0x1
+       VMADDR_FLAG_TO_HOST                         = 0x1
        VMADDR_PORT_ANY                             = 0xffffffff
        VM_SOCKETS_INVALID_VERSION                  = 0xffffffff
        VQUIT                                       = 0x1
        VT0                                         = 0x0
+       WAKE_MAGIC                                  = 0x20
        WALL                                        = 0x40000000
        WCLONE                                      = 0x80000000
        WCONTINUED                                  = 0x8
index dd282c08b7f11fa7dfb921aa29261969c6dbed0f..c8d5b324c750e007bdaa2d8600e8283043390873 100644 (file)
@@ -4,7 +4,7 @@
 // +build 386,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go
 
 package unix
 
@@ -165,6 +165,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -192,6 +193,7 @@ const (
        PPPIOCSPASS                      = 0x40087447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PR_SET_PTRACER_ANY               = 0xffffffff
        PTRACE_GETFPREGS                 = 0xe
@@ -268,6 +270,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -290,6 +293,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 82fc93c7bbc128f03b1fc1f05b9063eb43754cb0..e605c08b0ec00f0e6f640da4e1651118da6941eb 100644 (file)
@@ -4,7 +4,7 @@
 // +build amd64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go
 
 package unix
 
@@ -165,6 +165,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -192,6 +193,7 @@ const (
        PPPIOCSPASS                      = 0x40107447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        PTRACE_ARCH_PRCTL                = 0x1e
@@ -269,6 +271,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -291,6 +294,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index fe7094f2763f986ae2ed38d537afadea81a40844..0279fa1abdaee7504f5d0b1c7fcd496a7d201da3 100644 (file)
@@ -4,7 +4,7 @@
 // +build arm,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x40087447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PR_SET_PTRACER_ANY               = 0xffffffff
        PTRACE_GETCRUNCHREGS             = 0x19
@@ -275,6 +277,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -297,6 +300,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 3b6cc58803b6e0cb21d8ab44a8b8a0ebc05733c8..20c286a1122eb6be566a5b34978fad0f9fbc1020 100644 (file)
@@ -4,7 +4,7 @@
 // +build arm64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
 
 package unix
 
@@ -166,6 +166,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -193,9 +194,13 @@ const (
        PPPIOCSPASS                      = 0x40107447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PROT_BTI                         = 0x10
+       PROT_MTE                         = 0x20
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
+       PTRACE_PEEKMTETAGS               = 0x21
+       PTRACE_POKEMTETAGS               = 0x22
        PTRACE_SYSEMU                    = 0x1f
        PTRACE_SYSEMU_SINGLESTEP         = 0x20
        RLIMIT_AS                        = 0x9
@@ -262,6 +267,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -284,6 +290,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index ce3d9ae15610c64bdd7f13f7cf2119092913dfc9..1785f33d669d51a5c7fdcd8f8c0fe8fc70c77eb7 100644 (file)
@@ -4,7 +4,7 @@
 // +build mips,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x80087447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PR_SET_PTRACER_ANY               = 0xffffffff
        PTRACE_GETFPREGS                 = 0xe
@@ -268,6 +270,7 @@ const (
        SO_BROADCAST                     = 0x20
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -290,6 +293,7 @@ const (
        SO_PEERCRED                      = 0x12
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1e
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x1028
        SO_RCVBUF                        = 0x1002
        SO_RCVBUFFORCE                   = 0x21
index 7a85215ce5231e73e7b95e8817a3143b0bb385e0..acb1ef1bf554bbb0cc6dd0fef21dc4c52997b273 100644 (file)
@@ -4,7 +4,7 @@
 // +build mips64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x80107447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        PTRACE_GETFPREGS                 = 0xe
@@ -268,6 +270,7 @@ const (
        SO_BROADCAST                     = 0x20
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -290,6 +293,7 @@ const (
        SO_PEERCRED                      = 0x12
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1e
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x1028
        SO_RCVBUF                        = 0x1002
        SO_RCVBUFFORCE                   = 0x21
index 07d4cc1bd5ff43ecd636563cb739ab7cd1159778..468a4e68c7fd66691bca7ebaf127bf210fedd062 100644 (file)
@@ -4,7 +4,7 @@
 // +build mips64le,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x80107447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        PTRACE_GETFPREGS                 = 0xe
@@ -268,6 +270,7 @@ const (
        SO_BROADCAST                     = 0x20
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -290,6 +293,7 @@ const (
        SO_PEERCRED                      = 0x12
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1e
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x1028
        SO_RCVBUF                        = 0x1002
        SO_RCVBUFFORCE                   = 0x21
index d4842ba1c2a816faadfe63d28310ed8065ebec4a..6c9c7f2c76bc343e3642940a81530fcf9b6d0885 100644 (file)
@@ -4,7 +4,7 @@
 // +build mipsle,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x80087447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PR_SET_PTRACER_ANY               = 0xffffffff
        PTRACE_GETFPREGS                 = 0xe
@@ -268,6 +270,7 @@ const (
        SO_BROADCAST                     = 0x20
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -290,6 +293,7 @@ const (
        SO_PEERCRED                      = 0x12
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1e
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x1028
        SO_RCVBUF                        = 0x1002
        SO_RCVBUFFORCE                   = 0x21
index 941e20daceca0a45616443d1efbf912e7d57d3e3..8961206e5f4bac8971ead7c62273545d50c3fdae 100644 (file)
@@ -4,7 +4,7 @@
 // +build ppc64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -165,6 +165,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -192,6 +193,7 @@ const (
        PPPIOCSPASS                      = 0x80107447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PROT_SAO                         = 0x10
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
@@ -327,6 +329,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -349,6 +352,7 @@ const (
        SO_PEERCRED                      = 0x15
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 63d3bc56627d2f30118a3979c8eaecfbc73f7657..6bcf79dc2e6555297c25f6d14ddcf97e83c819b8 100644 (file)
@@ -4,7 +4,7 @@
 // +build ppc64le,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -165,6 +165,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -192,6 +193,7 @@ const (
        PPPIOCSPASS                      = 0x80107447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PROT_SAO                         = 0x10
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
@@ -327,6 +329,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -349,6 +352,7 @@ const (
        SO_PEERCRED                      = 0x15
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 490bee1ab1b5531a773c18127f64e8d6a7939e1b..e861d97f1c0aa3f8826994218573b4a4ee9d5f4a 100644 (file)
@@ -4,7 +4,7 @@
 // +build riscv64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x40107447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        RLIMIT_AS                        = 0x9
@@ -256,6 +258,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -278,6 +281,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 467b8218e80e650e8277d6fa535475111a7a4e8f..d39278bee5927b5163585267a4de711ca2c80552 100644 (file)
@@ -4,7 +4,7 @@
 // +build s390x,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
 
 package unix
 
@@ -163,6 +163,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x2405
        PPPIOCATTACH                     = 0x4004743d
        PPPIOCATTCHAN                    = 0x40047438
+       PPPIOCBRIDGECHAN                 = 0x40047435
        PPPIOCCONNECT                    = 0x4004743a
        PPPIOCDETACH                     = 0x4004743c
        PPPIOCDISCONN                    = 0x7439
@@ -190,6 +191,7 @@ const (
        PPPIOCSPASS                      = 0x40107447
        PPPIOCSRASYNCMAP                 = 0x40047454
        PPPIOCSXASYNCMAP                 = 0x4020744f
+       PPPIOCUNBRIDGECHAN               = 0x7434
        PPPIOCXFERUNIT                   = 0x744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        PTRACE_DISABLE_TE                = 0x5010
@@ -329,6 +331,7 @@ const (
        SO_BROADCAST                     = 0x6
        SO_BSDCOMPAT                     = 0xe
        SO_BUSY_POLL                     = 0x2e
+       SO_BUSY_POLL_BUDGET              = 0x46
        SO_CNX_ADVICE                    = 0x35
        SO_COOKIE                        = 0x39
        SO_DETACH_REUSEPORT_BPF          = 0x44
@@ -351,6 +354,7 @@ const (
        SO_PEERCRED                      = 0x11
        SO_PEERGROUPS                    = 0x3b
        SO_PEERSEC                       = 0x1f
+       SO_PREFER_BUSY_POLL              = 0x45
        SO_PROTOCOL                      = 0x26
        SO_RCVBUF                        = 0x8
        SO_RCVBUFFORCE                   = 0x21
index 79fbafbcf6c47c0ccaef780646d5e067b05e40da..6a742fa7ee35450cd5fa63f5556c1572bbfd258f 100644 (file)
@@ -4,7 +4,7 @@
 // +build sparc64,linux
 
 // Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
 
 package unix
 
@@ -168,6 +168,7 @@ const (
        PERF_EVENT_IOC_SET_OUTPUT        = 0x20002405
        PPPIOCATTACH                     = 0x8004743d
        PPPIOCATTCHAN                    = 0x80047438
+       PPPIOCBRIDGECHAN                 = 0x80047435
        PPPIOCCONNECT                    = 0x8004743a
        PPPIOCDETACH                     = 0x8004743c
        PPPIOCDISCONN                    = 0x20007439
@@ -195,6 +196,7 @@ const (
        PPPIOCSPASS                      = 0x80107447
        PPPIOCSRASYNCMAP                 = 0x80047454
        PPPIOCSXASYNCMAP                 = 0x8020744f
+       PPPIOCUNBRIDGECHAN               = 0x20007434
        PPPIOCXFERUNIT                   = 0x2000744e
        PR_SET_PTRACER_ANY               = 0xffffffffffffffff
        PTRACE_GETFPAREGS                = 0x14
@@ -322,6 +324,7 @@ const (
        SO_BROADCAST                     = 0x20
        SO_BSDCOMPAT                     = 0x400
        SO_BUSY_POLL                     = 0x30
+       SO_BUSY_POLL_BUDGET              = 0x49
        SO_CNX_ADVICE                    = 0x37
        SO_COOKIE                        = 0x3b
        SO_DETACH_REUSEPORT_BPF          = 0x47
@@ -344,6 +347,7 @@ const (
        SO_PEERCRED                      = 0x40
        SO_PEERGROUPS                    = 0x3d
        SO_PEERSEC                       = 0x1e
+       SO_PREFER_BUSY_POLL              = 0x48
        SO_PROTOCOL                      = 0x1028
        SO_RCVBUF                        = 0x1002
        SO_RCVBUFFORCE                   = 0x100b
index 7f0f117d3208fb122915d46ce1253c6a4701d4d8..3877183483f1f4d2c91c8fd92545ca50ab3f0dc2 100644 (file)
@@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (r int, w int, err error) {
-       r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
-       r = int(r0)
-       w = int(r1)
+func pipe(p *[2]int32) (err error) {
+       _, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
@@ -2381,7 +2379,7 @@ func libc_lstat64_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
        _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
index 2daf0bd628398c7e48020e5a6d24ed8d0a0775c9..508e5639bf4a18c8227703b69a48281ea283b601 100644 (file)
@@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (r int, w int, err error) {
-       r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
-       r = int(r0)
-       w = int(r1)
+func pipe(p *[2]int32) (err error) {
+       _, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
@@ -2381,7 +2379,7 @@ func libc_lstat64_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
        _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
index 8e79ad377be491bd9fe16b4afc3d67e8d327a2fe..c0c771f4025d3b17123bb350f2588427773096dc 100644 (file)
@@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (r int, w int, err error) {
-       r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
-       r = int(r0)
-       w = int(r1)
+func pipe(p *[2]int32) (err error) {
+       _, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
index 23be592a9f3900b30a3e31912a8a9f47a1ec6508..9b01a79c41ea67d0d4b73a5b7c4e176a8b394f40 100644 (file)
@@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (r int, w int, err error) {
-       r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
-       r = int(r0)
-       w = int(r1)
+func pipe(p *[2]int32) (err error) {
+       _, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
        }
@@ -2381,7 +2379,7 @@ func libc_lstat_trampoline()
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
+func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
        _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
        if e1 != 0 {
                err = errnoErr(e1)
index 1aaccd3615eea15ee770f7a34aa7515bcf432d6e..104f77d5b82abf9dd61aca3ce8013d640d093a38 100644 (file)
@@ -362,8 +362,10 @@ func pipe() (r int, w int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe2(p *[2]_C_int, flags int) (err error) {
-       _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+func pipe2(flags int) (r int, w int, err error) {
+       r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(flags), 0, 0)
+       r = int(r0)
+       w = int(r1)
        if e1 != 0 {
                err = errnoErr(e1)
        }
index d3af083f4e7cdc45f49985995c02fe77626d041f..665dd9e4b49e3741fd5e210a02f2b250249c53d1 100644 (file)
@@ -14,22 +14,19 @@ import (
 //go:cgo_import_dynamic libc_writev writev "libc.so"
 //go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
 //go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so"
-//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so"
 
 //go:linkname procreadv libc_readv
 //go:linkname procpreadv libc_preadv
 //go:linkname procwritev libc_writev
 //go:linkname procpwritev libc_pwritev
 //go:linkname procaccept4 libc_accept4
-//go:linkname procpipe2 libc_pipe2
 
 var (
        procreadv,
        procpreadv,
        procwritev,
        procpwritev,
-       procaccept4,
-       procpipe2 syscallFunc
+       procaccept4 syscallFunc
 )
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
@@ -102,13 +99,3 @@ func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int,
        }
        return
 }
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func pipe2(p *[2]_C_int, flags int) (err error) {
-       _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0)
-       if e1 != 0 {
-               err = e1
-       }
-       return
-}
index 3bbd9e39cda46acc1e1d53e8c5703485fdde9272..1d6f71d99ad6b7bce0f0c219941bb86fddfe6b2a 100644 (file)
@@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func pipe2(p *[2]_C_int, flags int) (err error) {
+       _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Getdents(fd int, buf []byte) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(buf) > 0 {
index d8cf5012c2760fa759d571a30abb6e3423fb3670..82f50506adb8b2561969206a2e5ee3ead4d09c0c 100644 (file)
@@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func pipe2(p *[2]_C_int, flags int) (err error) {
+       _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Getdents(fd int, buf []byte) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(buf) > 0 {
index 1153fe69b8ecce79b34b37ff7b1d83e1283f0535..b4db55a0c84b5dc54563fdfe3f1d12c94bac7e47 100644 (file)
@@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func pipe2(p *[2]_C_int, flags int) (err error) {
+       _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Getdents(fd int, buf []byte) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(buf) > 0 {
index 24b4ebb41fa31c4d6eeb3a260bb58f62db689518..e9f6d7975a4fb5eab07dbf3627c81afa6333c4fc 100644 (file)
@@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func pipe2(p *[2]_C_int, flags int) (err error) {
+       _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Getdents(fd int, buf []byte) (n int, err error) {
        var _p0 unsafe.Pointer
        if len(buf) > 0 {
index a96165d4bf06f2a31ef96ac9b5e3c00090da2a7a..9898ce1f47784194e7985c02c57f82ae5288a364 100644 (file)
@@ -11,6 +11,7 @@ import (
 )
 
 //go:cgo_import_dynamic libc_pipe pipe "libc.so"
+//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so"
 //go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so"
 //go:cgo_import_dynamic libc_getcwd getcwd "libc.so"
 //go:cgo_import_dynamic libc_getgroups getgroups "libc.so"
@@ -114,6 +115,7 @@ import (
 //go:cgo_import_dynamic libc_statvfs statvfs "libc.so"
 //go:cgo_import_dynamic libc_symlink symlink "libc.so"
 //go:cgo_import_dynamic libc_sync sync "libc.so"
+//go:cgo_import_dynamic libc_sysconf sysconf "libc.so"
 //go:cgo_import_dynamic libc_times times "libc.so"
 //go:cgo_import_dynamic libc_truncate truncate "libc.so"
 //go:cgo_import_dynamic libc_fsync fsync "libc.so"
@@ -140,6 +142,7 @@ import (
 //go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so"
 
 //go:linkname procpipe libc_pipe
+//go:linkname procpipe2 libc_pipe2
 //go:linkname procgetsockname libc_getsockname
 //go:linkname procGetcwd libc_getcwd
 //go:linkname procgetgroups libc_getgroups
@@ -243,6 +246,7 @@ import (
 //go:linkname procStatvfs libc_statvfs
 //go:linkname procSymlink libc_symlink
 //go:linkname procSync libc_sync
+//go:linkname procSysconf libc_sysconf
 //go:linkname procTimes libc_times
 //go:linkname procTruncate libc_truncate
 //go:linkname procFsync libc_fsync
@@ -270,6 +274,7 @@ import (
 
 var (
        procpipe,
+       procpipe2,
        procgetsockname,
        procGetcwd,
        procgetgroups,
@@ -373,6 +378,7 @@ var (
        procStatvfs,
        procSymlink,
        procSync,
+       procSysconf,
        procTimes,
        procTruncate,
        procFsync,
@@ -412,6 +418,16 @@ func pipe(p *[2]_C_int) (n int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func pipe2(p *[2]_C_int, flags int) (err error) {
+       _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0)
+       if e1 != 0 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
        _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
        if e1 != 0 {
@@ -1674,6 +1690,17 @@ func Sync() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func Sysconf(which int) (n int64, err error) {
+       r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSysconf)), 1, uintptr(which), 0, 0, 0, 0, 0)
+       n = int64(r0)
+       if e1 != 0 {
+               err = e1
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Times(tms *Tms) (ticks uintptr, err error) {
        r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)
        ticks = uintptr(r0)
index 0f5a3f6970a26ba5a80e52010a652b96ff192d43..c80f3c7bdd87aa3c90b169e0f1d8476b32b6e504 100644 (file)
@@ -435,4 +435,6 @@ const (
        SYS_OPENAT2                      = 437
        SYS_PIDFD_GETFD                  = 438
        SYS_FACCESSAT2                   = 439
+       SYS_PROCESS_MADVISE              = 440
+       SYS_EPOLL_PWAIT2                 = 441
 )
index 36d5219ef824fe107998bfde93ca0507c1783d1f..2369995cec3aa3d8fee33546db2b6ee170772e88 100644 (file)
@@ -357,4 +357,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index 3622ba14b4e11f8f71e543f24e4a687ef09bc586..971c5af6d42358826188f6209d1ae38c35d43417 100644 (file)
@@ -399,4 +399,6 @@ const (
        SYS_OPENAT2                      = 437
        SYS_PIDFD_GETFD                  = 438
        SYS_FACCESSAT2                   = 439
+       SYS_PROCESS_MADVISE              = 440
+       SYS_EPOLL_PWAIT2                 = 441
 )
index 6193c3dc07c146bce08efedb9e1958f2ab480ee8..a5e410b24fb871ef28465f2dbde3a0655ff34153 100644 (file)
@@ -302,4 +302,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index 640b974345f314b0aad674c7d1b0fcaf568df5da..438a6ea4e6b8d7619d7d63afb11a7b38877d99c1 100644 (file)
@@ -420,4 +420,6 @@ const (
        SYS_OPENAT2                      = 4437
        SYS_PIDFD_GETFD                  = 4438
        SYS_FACCESSAT2                   = 4439
+       SYS_PROCESS_MADVISE              = 4440
+       SYS_EPOLL_PWAIT2                 = 4441
 )
index 3467fbb5ff1c488b8339e847a60fc2791a6b9aaf..622472da2203dde8cc949cfeda2013419062dd7d 100644 (file)
@@ -350,4 +350,6 @@ const (
        SYS_OPENAT2                = 5437
        SYS_PIDFD_GETFD            = 5438
        SYS_FACCESSAT2             = 5439
+       SYS_PROCESS_MADVISE        = 5440
+       SYS_EPOLL_PWAIT2           = 5441
 )
index 0fc38d5a72f0297048f936809fac34ac39c25524..e029b989b80afd950e2cb66bb67bd0af83a7378b 100644 (file)
@@ -350,4 +350,6 @@ const (
        SYS_OPENAT2                = 5437
        SYS_PIDFD_GETFD            = 5438
        SYS_FACCESSAT2             = 5439
+       SYS_PROCESS_MADVISE        = 5440
+       SYS_EPOLL_PWAIT2           = 5441
 )
index 999fd55bccb705a15df717b41ed3001c229c8733..86a497b58d49a92321c113f6d874e037852b2942 100644 (file)
@@ -420,4 +420,6 @@ const (
        SYS_OPENAT2                      = 4437
        SYS_PIDFD_GETFD                  = 4438
        SYS_FACCESSAT2                   = 4439
+       SYS_PROCESS_MADVISE              = 4440
+       SYS_EPOLL_PWAIT2                 = 4441
 )
index 1df0d799355df5f58aa83b4ce9611a6dd16bec15..b6b0b5e602a8fcced51a84a8922a750ab5c652f8 100644 (file)
@@ -399,4 +399,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index 4db39cca4da51a230e88e725595749d9bb4203b8..b344db0146dbe2d48018567a9a8119fdbb2aac87 100644 (file)
@@ -399,4 +399,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index e6927401446f719b1558a59e1c65fd6c6eb4f219..9b8fa53dccc328c9d0c8e3e663fcfc899b149e9c 100644 (file)
@@ -301,4 +301,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index a585aec4e7971e13848d08f2dc4dbd7da388f2dd..8261f72c0ba2e3b91db6ba047810b7c38ef80bdc 100644 (file)
@@ -364,4 +364,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index d047e567afc60859752c9cfe6e6c7d790bea22df..f4bbeb3db5eedef27326f5e9639eb12dec8b96a8 100644 (file)
@@ -378,4 +378,6 @@ const (
        SYS_OPENAT2                = 437
        SYS_PIDFD_GETFD            = 438
        SYS_FACCESSAT2             = 439
+       SYS_PROCESS_MADVISE        = 440
+       SYS_EPOLL_PWAIT2           = 441
 )
index 2c1f815e6f92c103904ae8c203c6300942b34795..295859c503db2aca07028e7d93bb31492330aeb6 100644 (file)
@@ -219,6 +219,7 @@ const (
        SizeofSockaddrUnix     = 0x401
        SizeofSockaddrDatalink = 0x80
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofIPv6MTUInfo      = 0x20
index b4a069ecbdff083d29d62bc126d3c1969c83119a..a9ee0ffd44c12c0e4b33812b0ab14313333df037 100644 (file)
@@ -223,6 +223,7 @@ const (
        SizeofSockaddrUnix     = 0x401
        SizeofSockaddrDatalink = 0x80
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofIPv6MTUInfo      = 0x20
index 080ffce3255088f91c4b43d7badc5760a86d5aa2..bb39542f7a9b605d94b283c59b470ded150d3082 100644 (file)
@@ -210,6 +210,13 @@ type RawSockaddrCtl struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -273,6 +280,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofSockaddrCtl      = 0x20
+       SizeofXucred           = 0x4c
        SizeofLinger           = 0x8
        SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
index c9492428bfa3fb833f34ee4d5f6422e0a506d31b..ec5b5592721d0707fae386c0789c7d28f5549209 100644 (file)
@@ -210,6 +210,13 @@ type RawSockaddrCtl struct {
 
 type _Socklen uint32
 
+type Xucred struct {
+       Version uint32
+       Uid     uint32
+       Ngroups int16
+       Groups  [16]uint32
+}
+
 type Linger struct {
        Onoff  int32
        Linger int32
@@ -273,6 +280,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofSockaddrCtl      = 0x20
+       SizeofXucred           = 0x4c
        SizeofLinger           = 0x8
        SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
index c4772df23bfd64a37dfc4801cf93b8062a09e3df..85506a05d4b8e185a5a7f10e72737098c0accd4b 100644 (file)
@@ -234,6 +234,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index 2a3ec615f753fb0b27bea0ca059a19f1f666115a..3e9dad33e33832ff54f51ff9175eda5bbf840a9d 100644 (file)
@@ -313,6 +313,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPMreqn          = 0xc
        SizeofIPv6Mreq         = 0x14
index e11e95499e87df29f3b864d7afd006938eec80a0..e00e615544c89ff89bf5fedc14f4ee3055e4067e 100644 (file)
@@ -309,6 +309,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPMreqn          = 0xc
        SizeofIPv6Mreq         = 0x14
index b91c2ae0f015f37b39474efcdfd760cf2b64a748..5da13c871b540851b3c242691ee769d48efc4e27 100644 (file)
@@ -311,6 +311,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPMreqn          = 0xc
        SizeofIPv6Mreq         = 0x14
index c6fe1d097d8fbdf066a355a99b41f425bbdca1f5..995ecf9d4e2c65983649e44a084befae06228f69 100644 (file)
@@ -309,6 +309,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x36
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPMreqn          = 0xc
        SizeofIPv6Mreq         = 0x14
index 504ef131fb8cf5c4cd5a92653673dd467308159d..ddd655769d59144adcbd056940e19a4e01d86db0 100644 (file)
@@ -288,7 +288,8 @@ type RawSockaddrVM struct {
        Reserved1 uint16
        Port      uint32
        Cid       uint32
-       Zero      [4]uint8
+       Flags     uint8
+       Zero      [3]uint8
 }
 
 type RawSockaddrXDP struct {
@@ -999,7 +1000,7 @@ const (
        PERF_SAMPLE_PHYS_ADDR                 = 0x80000
        PERF_SAMPLE_AUX                       = 0x100000
        PERF_SAMPLE_CGROUP                    = 0x200000
-       PERF_SAMPLE_MAX                       = 0x400000
+       PERF_SAMPLE_MAX                       = 0x1000000
        PERF_SAMPLE_BRANCH_USER_SHIFT         = 0x0
        PERF_SAMPLE_BRANCH_KERNEL_SHIFT       = 0x1
        PERF_SAMPLE_BRANCH_HV_SHIFT           = 0x2
@@ -1381,6 +1382,11 @@ const (
        IFLA_PROP_LIST                             = 0x34
        IFLA_ALT_IFNAME                            = 0x35
        IFLA_PERM_ADDRESS                          = 0x36
+       IFLA_PROTO_DOWN_REASON                     = 0x37
+       IFLA_PROTO_DOWN_REASON_UNSPEC              = 0x0
+       IFLA_PROTO_DOWN_REASON_MASK                = 0x1
+       IFLA_PROTO_DOWN_REASON_VALUE               = 0x2
+       IFLA_PROTO_DOWN_REASON_MAX                 = 0x2
        IFLA_INET_UNSPEC                           = 0x0
        IFLA_INET_CONF                             = 0x1
        IFLA_INET6_UNSPEC                          = 0x0
@@ -1475,6 +1481,7 @@ const (
        IFLA_BRPORT_ISOLATED                       = 0x21
        IFLA_BRPORT_BACKUP_PORT                    = 0x22
        IFLA_BRPORT_MRP_RING_OPEN                  = 0x23
+       IFLA_BRPORT_MRP_IN_OPEN                    = 0x24
        IFLA_INFO_UNSPEC                           = 0x0
        IFLA_INFO_KIND                             = 0x1
        IFLA_INFO_DATA                             = 0x2
@@ -1673,6 +1680,7 @@ const (
        IFLA_HSR_SUPERVISION_ADDR                  = 0x4
        IFLA_HSR_SEQ_NR                            = 0x5
        IFLA_HSR_VERSION                           = 0x6
+       IFLA_HSR_PROTOCOL                          = 0x7
        IFLA_STATS_UNSPEC                          = 0x0
        IFLA_STATS_LINK_64                         = 0x1
        IFLA_STATS_LINK_XSTATS                     = 0x2
@@ -2217,10 +2225,12 @@ const (
 )
 
 const (
-       NETNSA_NONE = 0x0
-       NETNSA_NSID = 0x1
-       NETNSA_PID  = 0x2
-       NETNSA_FD   = 0x3
+       NETNSA_NONE         = 0x0
+       NETNSA_NSID         = 0x1
+       NETNSA_PID          = 0x2
+       NETNSA_FD           = 0x3
+       NETNSA_TARGET_NSID  = 0x4
+       NETNSA_CURRENT_NSID = 0x5
 )
 
 type XDPRingOffset struct {
@@ -2370,281 +2380,309 @@ const (
 )
 
 const (
-       BPF_REG_0                               = 0x0
-       BPF_REG_1                               = 0x1
-       BPF_REG_2                               = 0x2
-       BPF_REG_3                               = 0x3
-       BPF_REG_4                               = 0x4
-       BPF_REG_5                               = 0x5
-       BPF_REG_6                               = 0x6
-       BPF_REG_7                               = 0x7
-       BPF_REG_8                               = 0x8
-       BPF_REG_9                               = 0x9
-       BPF_REG_10                              = 0xa
-       BPF_MAP_CREATE                          = 0x0
-       BPF_MAP_LOOKUP_ELEM                     = 0x1
-       BPF_MAP_UPDATE_ELEM                     = 0x2
-       BPF_MAP_DELETE_ELEM                     = 0x3
-       BPF_MAP_GET_NEXT_KEY                    = 0x4
-       BPF_PROG_LOAD                           = 0x5
-       BPF_OBJ_PIN                             = 0x6
-       BPF_OBJ_GET                             = 0x7
-       BPF_PROG_ATTACH                         = 0x8
-       BPF_PROG_DETACH                         = 0x9
-       BPF_PROG_TEST_RUN                       = 0xa
-       BPF_PROG_GET_NEXT_ID                    = 0xb
-       BPF_MAP_GET_NEXT_ID                     = 0xc
-       BPF_PROG_GET_FD_BY_ID                   = 0xd
-       BPF_MAP_GET_FD_BY_ID                    = 0xe
-       BPF_OBJ_GET_INFO_BY_FD                  = 0xf
-       BPF_PROG_QUERY                          = 0x10
-       BPF_RAW_TRACEPOINT_OPEN                 = 0x11
-       BPF_BTF_LOAD                            = 0x12
-       BPF_BTF_GET_FD_BY_ID                    = 0x13
-       BPF_TASK_FD_QUERY                       = 0x14
-       BPF_MAP_LOOKUP_AND_DELETE_ELEM          = 0x15
-       BPF_MAP_FREEZE                          = 0x16
-       BPF_BTF_GET_NEXT_ID                     = 0x17
-       BPF_MAP_LOOKUP_BATCH                    = 0x18
-       BPF_MAP_LOOKUP_AND_DELETE_BATCH         = 0x19
-       BPF_MAP_UPDATE_BATCH                    = 0x1a
-       BPF_MAP_DELETE_BATCH                    = 0x1b
-       BPF_LINK_CREATE                         = 0x1c
-       BPF_LINK_UPDATE                         = 0x1d
-       BPF_LINK_GET_FD_BY_ID                   = 0x1e
-       BPF_LINK_GET_NEXT_ID                    = 0x1f
-       BPF_ENABLE_STATS                        = 0x20
-       BPF_ITER_CREATE                         = 0x21
-       BPF_MAP_TYPE_UNSPEC                     = 0x0
-       BPF_MAP_TYPE_HASH                       = 0x1
-       BPF_MAP_TYPE_ARRAY                      = 0x2
-       BPF_MAP_TYPE_PROG_ARRAY                 = 0x3
-       BPF_MAP_TYPE_PERF_EVENT_ARRAY           = 0x4
-       BPF_MAP_TYPE_PERCPU_HASH                = 0x5
-       BPF_MAP_TYPE_PERCPU_ARRAY               = 0x6
-       BPF_MAP_TYPE_STACK_TRACE                = 0x7
-       BPF_MAP_TYPE_CGROUP_ARRAY               = 0x8
-       BPF_MAP_TYPE_LRU_HASH                   = 0x9
-       BPF_MAP_TYPE_LRU_PERCPU_HASH            = 0xa
-       BPF_MAP_TYPE_LPM_TRIE                   = 0xb
-       BPF_MAP_TYPE_ARRAY_OF_MAPS              = 0xc
-       BPF_MAP_TYPE_HASH_OF_MAPS               = 0xd
-       BPF_MAP_TYPE_DEVMAP                     = 0xe
-       BPF_MAP_TYPE_SOCKMAP                    = 0xf
-       BPF_MAP_TYPE_CPUMAP                     = 0x10
-       BPF_MAP_TYPE_XSKMAP                     = 0x11
-       BPF_MAP_TYPE_SOCKHASH                   = 0x12
-       BPF_MAP_TYPE_CGROUP_STORAGE             = 0x13
-       BPF_MAP_TYPE_REUSEPORT_SOCKARRAY        = 0x14
-       BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE      = 0x15
-       BPF_MAP_TYPE_QUEUE                      = 0x16
-       BPF_MAP_TYPE_STACK                      = 0x17
-       BPF_MAP_TYPE_SK_STORAGE                 = 0x18
-       BPF_MAP_TYPE_DEVMAP_HASH                = 0x19
-       BPF_MAP_TYPE_STRUCT_OPS                 = 0x1a
-       BPF_MAP_TYPE_RINGBUF                    = 0x1b
-       BPF_PROG_TYPE_UNSPEC                    = 0x0
-       BPF_PROG_TYPE_SOCKET_FILTER             = 0x1
-       BPF_PROG_TYPE_KPROBE                    = 0x2
-       BPF_PROG_TYPE_SCHED_CLS                 = 0x3
-       BPF_PROG_TYPE_SCHED_ACT                 = 0x4
-       BPF_PROG_TYPE_TRACEPOINT                = 0x5
-       BPF_PROG_TYPE_XDP                       = 0x6
-       BPF_PROG_TYPE_PERF_EVENT                = 0x7
-       BPF_PROG_TYPE_CGROUP_SKB                = 0x8
-       BPF_PROG_TYPE_CGROUP_SOCK               = 0x9
-       BPF_PROG_TYPE_LWT_IN                    = 0xa
-       BPF_PROG_TYPE_LWT_OUT                   = 0xb
-       BPF_PROG_TYPE_LWT_XMIT                  = 0xc
-       BPF_PROG_TYPE_SOCK_OPS                  = 0xd
-       BPF_PROG_TYPE_SK_SKB                    = 0xe
-       BPF_PROG_TYPE_CGROUP_DEVICE             = 0xf
-       BPF_PROG_TYPE_SK_MSG                    = 0x10
-       BPF_PROG_TYPE_RAW_TRACEPOINT            = 0x11
-       BPF_PROG_TYPE_CGROUP_SOCK_ADDR          = 0x12
-       BPF_PROG_TYPE_LWT_SEG6LOCAL             = 0x13
-       BPF_PROG_TYPE_LIRC_MODE2                = 0x14
-       BPF_PROG_TYPE_SK_REUSEPORT              = 0x15
-       BPF_PROG_TYPE_FLOW_DISSECTOR            = 0x16
-       BPF_PROG_TYPE_CGROUP_SYSCTL             = 0x17
-       BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE   = 0x18
-       BPF_PROG_TYPE_CGROUP_SOCKOPT            = 0x19
-       BPF_PROG_TYPE_TRACING                   = 0x1a
-       BPF_PROG_TYPE_STRUCT_OPS                = 0x1b
-       BPF_PROG_TYPE_EXT                       = 0x1c
-       BPF_PROG_TYPE_LSM                       = 0x1d
-       BPF_CGROUP_INET_INGRESS                 = 0x0
-       BPF_CGROUP_INET_EGRESS                  = 0x1
-       BPF_CGROUP_INET_SOCK_CREATE             = 0x2
-       BPF_CGROUP_SOCK_OPS                     = 0x3
-       BPF_SK_SKB_STREAM_PARSER                = 0x4
-       BPF_SK_SKB_STREAM_VERDICT               = 0x5
-       BPF_CGROUP_DEVICE                       = 0x6
-       BPF_SK_MSG_VERDICT                      = 0x7
-       BPF_CGROUP_INET4_BIND                   = 0x8
-       BPF_CGROUP_INET6_BIND                   = 0x9
-       BPF_CGROUP_INET4_CONNECT                = 0xa
-       BPF_CGROUP_INET6_CONNECT                = 0xb
-       BPF_CGROUP_INET4_POST_BIND              = 0xc
-       BPF_CGROUP_INET6_POST_BIND              = 0xd
-       BPF_CGROUP_UDP4_SENDMSG                 = 0xe
-       BPF_CGROUP_UDP6_SENDMSG                 = 0xf
-       BPF_LIRC_MODE2                          = 0x10
-       BPF_FLOW_DISSECTOR                      = 0x11
-       BPF_CGROUP_SYSCTL                       = 0x12
-       BPF_CGROUP_UDP4_RECVMSG                 = 0x13
-       BPF_CGROUP_UDP6_RECVMSG                 = 0x14
-       BPF_CGROUP_GETSOCKOPT                   = 0x15
-       BPF_CGROUP_SETSOCKOPT                   = 0x16
-       BPF_TRACE_RAW_TP                        = 0x17
-       BPF_TRACE_FENTRY                        = 0x18
-       BPF_TRACE_FEXIT                         = 0x19
-       BPF_MODIFY_RETURN                       = 0x1a
-       BPF_LSM_MAC                             = 0x1b
-       BPF_TRACE_ITER                          = 0x1c
-       BPF_CGROUP_INET4_GETPEERNAME            = 0x1d
-       BPF_CGROUP_INET6_GETPEERNAME            = 0x1e
-       BPF_CGROUP_INET4_GETSOCKNAME            = 0x1f
-       BPF_CGROUP_INET6_GETSOCKNAME            = 0x20
-       BPF_XDP_DEVMAP                          = 0x21
-       BPF_LINK_TYPE_UNSPEC                    = 0x0
-       BPF_LINK_TYPE_RAW_TRACEPOINT            = 0x1
-       BPF_LINK_TYPE_TRACING                   = 0x2
-       BPF_LINK_TYPE_CGROUP                    = 0x3
-       BPF_LINK_TYPE_ITER                      = 0x4
-       BPF_LINK_TYPE_NETNS                     = 0x5
-       BPF_ANY                                 = 0x0
-       BPF_NOEXIST                             = 0x1
-       BPF_EXIST                               = 0x2
-       BPF_F_LOCK                              = 0x4
-       BPF_F_NO_PREALLOC                       = 0x1
-       BPF_F_NO_COMMON_LRU                     = 0x2
-       BPF_F_NUMA_NODE                         = 0x4
-       BPF_F_RDONLY                            = 0x8
-       BPF_F_WRONLY                            = 0x10
-       BPF_F_STACK_BUILD_ID                    = 0x20
-       BPF_F_ZERO_SEED                         = 0x40
-       BPF_F_RDONLY_PROG                       = 0x80
-       BPF_F_WRONLY_PROG                       = 0x100
-       BPF_F_CLONE                             = 0x200
-       BPF_F_MMAPABLE                          = 0x400
-       BPF_STATS_RUN_TIME                      = 0x0
-       BPF_STACK_BUILD_ID_EMPTY                = 0x0
-       BPF_STACK_BUILD_ID_VALID                = 0x1
-       BPF_STACK_BUILD_ID_IP                   = 0x2
-       BPF_F_RECOMPUTE_CSUM                    = 0x1
-       BPF_F_INVALIDATE_HASH                   = 0x2
-       BPF_F_HDR_FIELD_MASK                    = 0xf
-       BPF_F_PSEUDO_HDR                        = 0x10
-       BPF_F_MARK_MANGLED_0                    = 0x20
-       BPF_F_MARK_ENFORCE                      = 0x40
-       BPF_F_INGRESS                           = 0x1
-       BPF_F_TUNINFO_IPV6                      = 0x1
-       BPF_F_SKIP_FIELD_MASK                   = 0xff
-       BPF_F_USER_STACK                        = 0x100
-       BPF_F_FAST_STACK_CMP                    = 0x200
-       BPF_F_REUSE_STACKID                     = 0x400
-       BPF_F_USER_BUILD_ID                     = 0x800
-       BPF_F_ZERO_CSUM_TX                      = 0x2
-       BPF_F_DONT_FRAGMENT                     = 0x4
-       BPF_F_SEQ_NUMBER                        = 0x8
-       BPF_F_INDEX_MASK                        = 0xffffffff
-       BPF_F_CURRENT_CPU                       = 0xffffffff
-       BPF_F_CTXLEN_MASK                       = 0xfffff00000000
-       BPF_F_CURRENT_NETNS                     = -0x1
-       BPF_CSUM_LEVEL_QUERY                    = 0x0
-       BPF_CSUM_LEVEL_INC                      = 0x1
-       BPF_CSUM_LEVEL_DEC                      = 0x2
-       BPF_CSUM_LEVEL_RESET                    = 0x3
-       BPF_F_ADJ_ROOM_FIXED_GSO                = 0x1
-       BPF_F_ADJ_ROOM_ENCAP_L3_IPV4            = 0x2
-       BPF_F_ADJ_ROOM_ENCAP_L3_IPV6            = 0x4
-       BPF_F_ADJ_ROOM_ENCAP_L4_GRE             = 0x8
-       BPF_F_ADJ_ROOM_ENCAP_L4_UDP             = 0x10
-       BPF_F_ADJ_ROOM_NO_CSUM_RESET            = 0x20
-       BPF_ADJ_ROOM_ENCAP_L2_MASK              = 0xff
-       BPF_ADJ_ROOM_ENCAP_L2_SHIFT             = 0x38
-       BPF_F_SYSCTL_BASE_NAME                  = 0x1
-       BPF_SK_STORAGE_GET_F_CREATE             = 0x1
-       BPF_F_GET_BRANCH_RECORDS_SIZE           = 0x1
-       BPF_RB_NO_WAKEUP                        = 0x1
-       BPF_RB_FORCE_WAKEUP                     = 0x2
-       BPF_RB_AVAIL_DATA                       = 0x0
-       BPF_RB_RING_SIZE                        = 0x1
-       BPF_RB_CONS_POS                         = 0x2
-       BPF_RB_PROD_POS                         = 0x3
-       BPF_RINGBUF_BUSY_BIT                    = 0x80000000
-       BPF_RINGBUF_DISCARD_BIT                 = 0x40000000
-       BPF_RINGBUF_HDR_SZ                      = 0x8
-       BPF_ADJ_ROOM_NET                        = 0x0
-       BPF_ADJ_ROOM_MAC                        = 0x1
-       BPF_HDR_START_MAC                       = 0x0
-       BPF_HDR_START_NET                       = 0x1
-       BPF_LWT_ENCAP_SEG6                      = 0x0
-       BPF_LWT_ENCAP_SEG6_INLINE               = 0x1
-       BPF_LWT_ENCAP_IP                        = 0x2
-       BPF_OK                                  = 0x0
-       BPF_DROP                                = 0x2
-       BPF_REDIRECT                            = 0x7
-       BPF_LWT_REROUTE                         = 0x80
-       BPF_SOCK_OPS_RTO_CB_FLAG                = 0x1
-       BPF_SOCK_OPS_RETRANS_CB_FLAG            = 0x2
-       BPF_SOCK_OPS_STATE_CB_FLAG              = 0x4
-       BPF_SOCK_OPS_RTT_CB_FLAG                = 0x8
-       BPF_SOCK_OPS_ALL_CB_FLAGS               = 0xf
-       BPF_SOCK_OPS_VOID                       = 0x0
-       BPF_SOCK_OPS_TIMEOUT_INIT               = 0x1
-       BPF_SOCK_OPS_RWND_INIT                  = 0x2
-       BPF_SOCK_OPS_TCP_CONNECT_CB             = 0x3
-       BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB      = 0x4
-       BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB     = 0x5
-       BPF_SOCK_OPS_NEEDS_ECN                  = 0x6
-       BPF_SOCK_OPS_BASE_RTT                   = 0x7
-       BPF_SOCK_OPS_RTO_CB                     = 0x8
-       BPF_SOCK_OPS_RETRANS_CB                 = 0x9
-       BPF_SOCK_OPS_STATE_CB                   = 0xa
-       BPF_SOCK_OPS_TCP_LISTEN_CB              = 0xb
-       BPF_SOCK_OPS_RTT_CB                     = 0xc
-       BPF_TCP_ESTABLISHED                     = 0x1
-       BPF_TCP_SYN_SENT                        = 0x2
-       BPF_TCP_SYN_RECV                        = 0x3
-       BPF_TCP_FIN_WAIT1                       = 0x4
-       BPF_TCP_FIN_WAIT2                       = 0x5
-       BPF_TCP_TIME_WAIT                       = 0x6
-       BPF_TCP_CLOSE                           = 0x7
-       BPF_TCP_CLOSE_WAIT                      = 0x8
-       BPF_TCP_LAST_ACK                        = 0x9
-       BPF_TCP_LISTEN                          = 0xa
-       BPF_TCP_CLOSING                         = 0xb
-       BPF_TCP_NEW_SYN_RECV                    = 0xc
-       BPF_TCP_MAX_STATES                      = 0xd
-       TCP_BPF_IW                              = 0x3e9
-       TCP_BPF_SNDCWND_CLAMP                   = 0x3ea
-       BPF_DEVCG_ACC_MKNOD                     = 0x1
-       BPF_DEVCG_ACC_READ                      = 0x2
-       BPF_DEVCG_ACC_WRITE                     = 0x4
-       BPF_DEVCG_DEV_BLOCK                     = 0x1
-       BPF_DEVCG_DEV_CHAR                      = 0x2
-       BPF_FIB_LOOKUP_DIRECT                   = 0x1
-       BPF_FIB_LOOKUP_OUTPUT                   = 0x2
-       BPF_FIB_LKUP_RET_SUCCESS                = 0x0
-       BPF_FIB_LKUP_RET_BLACKHOLE              = 0x1
-       BPF_FIB_LKUP_RET_UNREACHABLE            = 0x2
-       BPF_FIB_LKUP_RET_PROHIBIT               = 0x3
-       BPF_FIB_LKUP_RET_NOT_FWDED              = 0x4
-       BPF_FIB_LKUP_RET_FWD_DISABLED           = 0x5
-       BPF_FIB_LKUP_RET_UNSUPP_LWT             = 0x6
-       BPF_FIB_LKUP_RET_NO_NEIGH               = 0x7
-       BPF_FIB_LKUP_RET_FRAG_NEEDED            = 0x8
-       BPF_FD_TYPE_RAW_TRACEPOINT              = 0x0
-       BPF_FD_TYPE_TRACEPOINT                  = 0x1
-       BPF_FD_TYPE_KPROBE                      = 0x2
-       BPF_FD_TYPE_KRETPROBE                   = 0x3
-       BPF_FD_TYPE_UPROBE                      = 0x4
-       BPF_FD_TYPE_URETPROBE                   = 0x5
-       BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG     = 0x1
-       BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2
-       BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP      = 0x4
+       BPF_REG_0                                  = 0x0
+       BPF_REG_1                                  = 0x1
+       BPF_REG_2                                  = 0x2
+       BPF_REG_3                                  = 0x3
+       BPF_REG_4                                  = 0x4
+       BPF_REG_5                                  = 0x5
+       BPF_REG_6                                  = 0x6
+       BPF_REG_7                                  = 0x7
+       BPF_REG_8                                  = 0x8
+       BPF_REG_9                                  = 0x9
+       BPF_REG_10                                 = 0xa
+       BPF_MAP_CREATE                             = 0x0
+       BPF_MAP_LOOKUP_ELEM                        = 0x1
+       BPF_MAP_UPDATE_ELEM                        = 0x2
+       BPF_MAP_DELETE_ELEM                        = 0x3
+       BPF_MAP_GET_NEXT_KEY                       = 0x4
+       BPF_PROG_LOAD                              = 0x5
+       BPF_OBJ_PIN                                = 0x6
+       BPF_OBJ_GET                                = 0x7
+       BPF_PROG_ATTACH                            = 0x8
+       BPF_PROG_DETACH                            = 0x9
+       BPF_PROG_TEST_RUN                          = 0xa
+       BPF_PROG_GET_NEXT_ID                       = 0xb
+       BPF_MAP_GET_NEXT_ID                        = 0xc
+       BPF_PROG_GET_FD_BY_ID                      = 0xd
+       BPF_MAP_GET_FD_BY_ID                       = 0xe
+       BPF_OBJ_GET_INFO_BY_FD                     = 0xf
+       BPF_PROG_QUERY                             = 0x10
+       BPF_RAW_TRACEPOINT_OPEN                    = 0x11
+       BPF_BTF_LOAD                               = 0x12
+       BPF_BTF_GET_FD_BY_ID                       = 0x13
+       BPF_TASK_FD_QUERY                          = 0x14
+       BPF_MAP_LOOKUP_AND_DELETE_ELEM             = 0x15
+       BPF_MAP_FREEZE                             = 0x16
+       BPF_BTF_GET_NEXT_ID                        = 0x17
+       BPF_MAP_LOOKUP_BATCH                       = 0x18
+       BPF_MAP_LOOKUP_AND_DELETE_BATCH            = 0x19
+       BPF_MAP_UPDATE_BATCH                       = 0x1a
+       BPF_MAP_DELETE_BATCH                       = 0x1b
+       BPF_LINK_CREATE                            = 0x1c
+       BPF_LINK_UPDATE                            = 0x1d
+       BPF_LINK_GET_FD_BY_ID                      = 0x1e
+       BPF_LINK_GET_NEXT_ID                       = 0x1f
+       BPF_ENABLE_STATS                           = 0x20
+       BPF_ITER_CREATE                            = 0x21
+       BPF_LINK_DETACH                            = 0x22
+       BPF_PROG_BIND_MAP                          = 0x23
+       BPF_MAP_TYPE_UNSPEC                        = 0x0
+       BPF_MAP_TYPE_HASH                          = 0x1
+       BPF_MAP_TYPE_ARRAY                         = 0x2
+       BPF_MAP_TYPE_PROG_ARRAY                    = 0x3
+       BPF_MAP_TYPE_PERF_EVENT_ARRAY              = 0x4
+       BPF_MAP_TYPE_PERCPU_HASH                   = 0x5
+       BPF_MAP_TYPE_PERCPU_ARRAY                  = 0x6
+       BPF_MAP_TYPE_STACK_TRACE                   = 0x7
+       BPF_MAP_TYPE_CGROUP_ARRAY                  = 0x8
+       BPF_MAP_TYPE_LRU_HASH                      = 0x9
+       BPF_MAP_TYPE_LRU_PERCPU_HASH               = 0xa
+       BPF_MAP_TYPE_LPM_TRIE                      = 0xb
+       BPF_MAP_TYPE_ARRAY_OF_MAPS                 = 0xc
+       BPF_MAP_TYPE_HASH_OF_MAPS                  = 0xd
+       BPF_MAP_TYPE_DEVMAP                        = 0xe
+       BPF_MAP_TYPE_SOCKMAP                       = 0xf
+       BPF_MAP_TYPE_CPUMAP                        = 0x10
+       BPF_MAP_TYPE_XSKMAP                        = 0x11
+       BPF_MAP_TYPE_SOCKHASH                      = 0x12
+       BPF_MAP_TYPE_CGROUP_STORAGE                = 0x13
+       BPF_MAP_TYPE_REUSEPORT_SOCKARRAY           = 0x14
+       BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE         = 0x15
+       BPF_MAP_TYPE_QUEUE                         = 0x16
+       BPF_MAP_TYPE_STACK                         = 0x17
+       BPF_MAP_TYPE_SK_STORAGE                    = 0x18
+       BPF_MAP_TYPE_DEVMAP_HASH                   = 0x19
+       BPF_MAP_TYPE_STRUCT_OPS                    = 0x1a
+       BPF_MAP_TYPE_RINGBUF                       = 0x1b
+       BPF_MAP_TYPE_INODE_STORAGE                 = 0x1c
+       BPF_PROG_TYPE_UNSPEC                       = 0x0
+       BPF_PROG_TYPE_SOCKET_FILTER                = 0x1
+       BPF_PROG_TYPE_KPROBE                       = 0x2
+       BPF_PROG_TYPE_SCHED_CLS                    = 0x3
+       BPF_PROG_TYPE_SCHED_ACT                    = 0x4
+       BPF_PROG_TYPE_TRACEPOINT                   = 0x5
+       BPF_PROG_TYPE_XDP                          = 0x6
+       BPF_PROG_TYPE_PERF_EVENT                   = 0x7
+       BPF_PROG_TYPE_CGROUP_SKB                   = 0x8
+       BPF_PROG_TYPE_CGROUP_SOCK                  = 0x9
+       BPF_PROG_TYPE_LWT_IN                       = 0xa
+       BPF_PROG_TYPE_LWT_OUT                      = 0xb
+       BPF_PROG_TYPE_LWT_XMIT                     = 0xc
+       BPF_PROG_TYPE_SOCK_OPS                     = 0xd
+       BPF_PROG_TYPE_SK_SKB                       = 0xe
+       BPF_PROG_TYPE_CGROUP_DEVICE                = 0xf
+       BPF_PROG_TYPE_SK_MSG                       = 0x10
+       BPF_PROG_TYPE_RAW_TRACEPOINT               = 0x11
+       BPF_PROG_TYPE_CGROUP_SOCK_ADDR             = 0x12
+       BPF_PROG_TYPE_LWT_SEG6LOCAL                = 0x13
+       BPF_PROG_TYPE_LIRC_MODE2                   = 0x14
+       BPF_PROG_TYPE_SK_REUSEPORT                 = 0x15
+       BPF_PROG_TYPE_FLOW_DISSECTOR               = 0x16
+       BPF_PROG_TYPE_CGROUP_SYSCTL                = 0x17
+       BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE      = 0x18
+       BPF_PROG_TYPE_CGROUP_SOCKOPT               = 0x19
+       BPF_PROG_TYPE_TRACING                      = 0x1a
+       BPF_PROG_TYPE_STRUCT_OPS                   = 0x1b
+       BPF_PROG_TYPE_EXT                          = 0x1c
+       BPF_PROG_TYPE_LSM                          = 0x1d
+       BPF_PROG_TYPE_SK_LOOKUP                    = 0x1e
+       BPF_CGROUP_INET_INGRESS                    = 0x0
+       BPF_CGROUP_INET_EGRESS                     = 0x1
+       BPF_CGROUP_INET_SOCK_CREATE                = 0x2
+       BPF_CGROUP_SOCK_OPS                        = 0x3
+       BPF_SK_SKB_STREAM_PARSER                   = 0x4
+       BPF_SK_SKB_STREAM_VERDICT                  = 0x5
+       BPF_CGROUP_DEVICE                          = 0x6
+       BPF_SK_MSG_VERDICT                         = 0x7
+       BPF_CGROUP_INET4_BIND                      = 0x8
+       BPF_CGROUP_INET6_BIND                      = 0x9
+       BPF_CGROUP_INET4_CONNECT                   = 0xa
+       BPF_CGROUP_INET6_CONNECT                   = 0xb
+       BPF_CGROUP_INET4_POST_BIND                 = 0xc
+       BPF_CGROUP_INET6_POST_BIND                 = 0xd
+       BPF_CGROUP_UDP4_SENDMSG                    = 0xe
+       BPF_CGROUP_UDP6_SENDMSG                    = 0xf
+       BPF_LIRC_MODE2                             = 0x10
+       BPF_FLOW_DISSECTOR                         = 0x11
+       BPF_CGROUP_SYSCTL                          = 0x12
+       BPF_CGROUP_UDP4_RECVMSG                    = 0x13
+       BPF_CGROUP_UDP6_RECVMSG                    = 0x14
+       BPF_CGROUP_GETSOCKOPT                      = 0x15
+       BPF_CGROUP_SETSOCKOPT                      = 0x16
+       BPF_TRACE_RAW_TP                           = 0x17
+       BPF_TRACE_FENTRY                           = 0x18
+       BPF_TRACE_FEXIT                            = 0x19
+       BPF_MODIFY_RETURN                          = 0x1a
+       BPF_LSM_MAC                                = 0x1b
+       BPF_TRACE_ITER                             = 0x1c
+       BPF_CGROUP_INET4_GETPEERNAME               = 0x1d
+       BPF_CGROUP_INET6_GETPEERNAME               = 0x1e
+       BPF_CGROUP_INET4_GETSOCKNAME               = 0x1f
+       BPF_CGROUP_INET6_GETSOCKNAME               = 0x20
+       BPF_XDP_DEVMAP                             = 0x21
+       BPF_CGROUP_INET_SOCK_RELEASE               = 0x22
+       BPF_XDP_CPUMAP                             = 0x23
+       BPF_SK_LOOKUP                              = 0x24
+       BPF_XDP                                    = 0x25
+       BPF_LINK_TYPE_UNSPEC                       = 0x0
+       BPF_LINK_TYPE_RAW_TRACEPOINT               = 0x1
+       BPF_LINK_TYPE_TRACING                      = 0x2
+       BPF_LINK_TYPE_CGROUP                       = 0x3
+       BPF_LINK_TYPE_ITER                         = 0x4
+       BPF_LINK_TYPE_NETNS                        = 0x5
+       BPF_LINK_TYPE_XDP                          = 0x6
+       BPF_ANY                                    = 0x0
+       BPF_NOEXIST                                = 0x1
+       BPF_EXIST                                  = 0x2
+       BPF_F_LOCK                                 = 0x4
+       BPF_F_NO_PREALLOC                          = 0x1
+       BPF_F_NO_COMMON_LRU                        = 0x2
+       BPF_F_NUMA_NODE                            = 0x4
+       BPF_F_RDONLY                               = 0x8
+       BPF_F_WRONLY                               = 0x10
+       BPF_F_STACK_BUILD_ID                       = 0x20
+       BPF_F_ZERO_SEED                            = 0x40
+       BPF_F_RDONLY_PROG                          = 0x80
+       BPF_F_WRONLY_PROG                          = 0x100
+       BPF_F_CLONE                                = 0x200
+       BPF_F_MMAPABLE                             = 0x400
+       BPF_F_PRESERVE_ELEMS                       = 0x800
+       BPF_F_INNER_MAP                            = 0x1000
+       BPF_STATS_RUN_TIME                         = 0x0
+       BPF_STACK_BUILD_ID_EMPTY                   = 0x0
+       BPF_STACK_BUILD_ID_VALID                   = 0x1
+       BPF_STACK_BUILD_ID_IP                      = 0x2
+       BPF_F_RECOMPUTE_CSUM                       = 0x1
+       BPF_F_INVALIDATE_HASH                      = 0x2
+       BPF_F_HDR_FIELD_MASK                       = 0xf
+       BPF_F_PSEUDO_HDR                           = 0x10
+       BPF_F_MARK_MANGLED_0                       = 0x20
+       BPF_F_MARK_ENFORCE                         = 0x40
+       BPF_F_INGRESS                              = 0x1
+       BPF_F_TUNINFO_IPV6                         = 0x1
+       BPF_F_SKIP_FIELD_MASK                      = 0xff
+       BPF_F_USER_STACK                           = 0x100
+       BPF_F_FAST_STACK_CMP                       = 0x200
+       BPF_F_REUSE_STACKID                        = 0x400
+       BPF_F_USER_BUILD_ID                        = 0x800
+       BPF_F_ZERO_CSUM_TX                         = 0x2
+       BPF_F_DONT_FRAGMENT                        = 0x4
+       BPF_F_SEQ_NUMBER                           = 0x8
+       BPF_F_INDEX_MASK                           = 0xffffffff
+       BPF_F_CURRENT_CPU                          = 0xffffffff
+       BPF_F_CTXLEN_MASK                          = 0xfffff00000000
+       BPF_F_CURRENT_NETNS                        = -0x1
+       BPF_CSUM_LEVEL_QUERY                       = 0x0
+       BPF_CSUM_LEVEL_INC                         = 0x1
+       BPF_CSUM_LEVEL_DEC                         = 0x2
+       BPF_CSUM_LEVEL_RESET                       = 0x3
+       BPF_F_ADJ_ROOM_FIXED_GSO                   = 0x1
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV4               = 0x2
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV6               = 0x4
+       BPF_F_ADJ_ROOM_ENCAP_L4_GRE                = 0x8
+       BPF_F_ADJ_ROOM_ENCAP_L4_UDP                = 0x10
+       BPF_F_ADJ_ROOM_NO_CSUM_RESET               = 0x20
+       BPF_ADJ_ROOM_ENCAP_L2_MASK                 = 0xff
+       BPF_ADJ_ROOM_ENCAP_L2_SHIFT                = 0x38
+       BPF_F_SYSCTL_BASE_NAME                     = 0x1
+       BPF_LOCAL_STORAGE_GET_F_CREATE             = 0x1
+       BPF_SK_STORAGE_GET_F_CREATE                = 0x1
+       BPF_F_GET_BRANCH_RECORDS_SIZE              = 0x1
+       BPF_RB_NO_WAKEUP                           = 0x1
+       BPF_RB_FORCE_WAKEUP                        = 0x2
+       BPF_RB_AVAIL_DATA                          = 0x0
+       BPF_RB_RING_SIZE                           = 0x1
+       BPF_RB_CONS_POS                            = 0x2
+       BPF_RB_PROD_POS                            = 0x3
+       BPF_RINGBUF_BUSY_BIT                       = 0x80000000
+       BPF_RINGBUF_DISCARD_BIT                    = 0x40000000
+       BPF_RINGBUF_HDR_SZ                         = 0x8
+       BPF_SK_LOOKUP_F_REPLACE                    = 0x1
+       BPF_SK_LOOKUP_F_NO_REUSEPORT               = 0x2
+       BPF_ADJ_ROOM_NET                           = 0x0
+       BPF_ADJ_ROOM_MAC                           = 0x1
+       BPF_HDR_START_MAC                          = 0x0
+       BPF_HDR_START_NET                          = 0x1
+       BPF_LWT_ENCAP_SEG6                         = 0x0
+       BPF_LWT_ENCAP_SEG6_INLINE                  = 0x1
+       BPF_LWT_ENCAP_IP                           = 0x2
+       BPF_OK                                     = 0x0
+       BPF_DROP                                   = 0x2
+       BPF_REDIRECT                               = 0x7
+       BPF_LWT_REROUTE                            = 0x80
+       BPF_SOCK_OPS_RTO_CB_FLAG                   = 0x1
+       BPF_SOCK_OPS_RETRANS_CB_FLAG               = 0x2
+       BPF_SOCK_OPS_STATE_CB_FLAG                 = 0x4
+       BPF_SOCK_OPS_RTT_CB_FLAG                   = 0x8
+       BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG     = 0x10
+       BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 0x20
+       BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG         = 0x40
+       BPF_SOCK_OPS_ALL_CB_FLAGS                  = 0x7f
+       BPF_SOCK_OPS_VOID                          = 0x0
+       BPF_SOCK_OPS_TIMEOUT_INIT                  = 0x1
+       BPF_SOCK_OPS_RWND_INIT                     = 0x2
+       BPF_SOCK_OPS_TCP_CONNECT_CB                = 0x3
+       BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB         = 0x4
+       BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB        = 0x5
+       BPF_SOCK_OPS_NEEDS_ECN                     = 0x6
+       BPF_SOCK_OPS_BASE_RTT                      = 0x7
+       BPF_SOCK_OPS_RTO_CB                        = 0x8
+       BPF_SOCK_OPS_RETRANS_CB                    = 0x9
+       BPF_SOCK_OPS_STATE_CB                      = 0xa
+       BPF_SOCK_OPS_TCP_LISTEN_CB                 = 0xb
+       BPF_SOCK_OPS_RTT_CB                        = 0xc
+       BPF_SOCK_OPS_PARSE_HDR_OPT_CB              = 0xd
+       BPF_SOCK_OPS_HDR_OPT_LEN_CB                = 0xe
+       BPF_SOCK_OPS_WRITE_HDR_OPT_CB              = 0xf
+       BPF_TCP_ESTABLISHED                        = 0x1
+       BPF_TCP_SYN_SENT                           = 0x2
+       BPF_TCP_SYN_RECV                           = 0x3
+       BPF_TCP_FIN_WAIT1                          = 0x4
+       BPF_TCP_FIN_WAIT2                          = 0x5
+       BPF_TCP_TIME_WAIT                          = 0x6
+       BPF_TCP_CLOSE                              = 0x7
+       BPF_TCP_CLOSE_WAIT                         = 0x8
+       BPF_TCP_LAST_ACK                           = 0x9
+       BPF_TCP_LISTEN                             = 0xa
+       BPF_TCP_CLOSING                            = 0xb
+       BPF_TCP_NEW_SYN_RECV                       = 0xc
+       BPF_TCP_MAX_STATES                         = 0xd
+       TCP_BPF_IW                                 = 0x3e9
+       TCP_BPF_SNDCWND_CLAMP                      = 0x3ea
+       TCP_BPF_DELACK_MAX                         = 0x3eb
+       TCP_BPF_RTO_MIN                            = 0x3ec
+       TCP_BPF_SYN                                = 0x3ed
+       TCP_BPF_SYN_IP                             = 0x3ee
+       TCP_BPF_SYN_MAC                            = 0x3ef
+       BPF_LOAD_HDR_OPT_TCP_SYN                   = 0x1
+       BPF_WRITE_HDR_TCP_CURRENT_MSS              = 0x1
+       BPF_WRITE_HDR_TCP_SYNACK_COOKIE            = 0x2
+       BPF_DEVCG_ACC_MKNOD                        = 0x1
+       BPF_DEVCG_ACC_READ                         = 0x2
+       BPF_DEVCG_ACC_WRITE                        = 0x4
+       BPF_DEVCG_DEV_BLOCK                        = 0x1
+       BPF_DEVCG_DEV_CHAR                         = 0x2
+       BPF_FIB_LOOKUP_DIRECT                      = 0x1
+       BPF_FIB_LOOKUP_OUTPUT                      = 0x2
+       BPF_FIB_LKUP_RET_SUCCESS                   = 0x0
+       BPF_FIB_LKUP_RET_BLACKHOLE                 = 0x1
+       BPF_FIB_LKUP_RET_UNREACHABLE               = 0x2
+       BPF_FIB_LKUP_RET_PROHIBIT                  = 0x3
+       BPF_FIB_LKUP_RET_NOT_FWDED                 = 0x4
+       BPF_FIB_LKUP_RET_FWD_DISABLED              = 0x5
+       BPF_FIB_LKUP_RET_UNSUPP_LWT                = 0x6
+       BPF_FIB_LKUP_RET_NO_NEIGH                  = 0x7
+       BPF_FIB_LKUP_RET_FRAG_NEEDED               = 0x8
+       BPF_FD_TYPE_RAW_TRACEPOINT                 = 0x0
+       BPF_FD_TYPE_TRACEPOINT                     = 0x1
+       BPF_FD_TYPE_KPROBE                         = 0x2
+       BPF_FD_TYPE_KRETPROBE                      = 0x3
+       BPF_FD_TYPE_UPROBE                         = 0x4
+       BPF_FD_TYPE_URETPROBE                      = 0x5
+       BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG        = 0x1
+       BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL    = 0x2
+       BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP         = 0x4
 )
 
 const (
@@ -2681,6 +2719,7 @@ const (
        RTNLGRP_IPV4_MROUTE_R = 0x1e
        RTNLGRP_IPV6_MROUTE_R = 0x1f
        RTNLGRP_NEXTHOP       = 0x20
+       RTNLGRP_BRVLAN        = 0x21
 )
 
 type CapUserHeader struct {
@@ -2775,132 +2814,317 @@ const (
 )
 
 const (
-       DEVLINK_CMD_UNSPEC                        = 0x0
-       DEVLINK_CMD_GET                           = 0x1
-       DEVLINK_CMD_SET                           = 0x2
-       DEVLINK_CMD_NEW                           = 0x3
-       DEVLINK_CMD_DEL                           = 0x4
-       DEVLINK_CMD_PORT_GET                      = 0x5
-       DEVLINK_CMD_PORT_SET                      = 0x6
-       DEVLINK_CMD_PORT_NEW                      = 0x7
-       DEVLINK_CMD_PORT_DEL                      = 0x8
-       DEVLINK_CMD_PORT_SPLIT                    = 0x9
-       DEVLINK_CMD_PORT_UNSPLIT                  = 0xa
-       DEVLINK_CMD_SB_GET                        = 0xb
-       DEVLINK_CMD_SB_SET                        = 0xc
-       DEVLINK_CMD_SB_NEW                        = 0xd
-       DEVLINK_CMD_SB_DEL                        = 0xe
-       DEVLINK_CMD_SB_POOL_GET                   = 0xf
-       DEVLINK_CMD_SB_POOL_SET                   = 0x10
-       DEVLINK_CMD_SB_POOL_NEW                   = 0x11
-       DEVLINK_CMD_SB_POOL_DEL                   = 0x12
-       DEVLINK_CMD_SB_PORT_POOL_GET              = 0x13
-       DEVLINK_CMD_SB_PORT_POOL_SET              = 0x14
-       DEVLINK_CMD_SB_PORT_POOL_NEW              = 0x15
-       DEVLINK_CMD_SB_PORT_POOL_DEL              = 0x16
-       DEVLINK_CMD_SB_TC_POOL_BIND_GET           = 0x17
-       DEVLINK_CMD_SB_TC_POOL_BIND_SET           = 0x18
-       DEVLINK_CMD_SB_TC_POOL_BIND_NEW           = 0x19
-       DEVLINK_CMD_SB_TC_POOL_BIND_DEL           = 0x1a
-       DEVLINK_CMD_SB_OCC_SNAPSHOT               = 0x1b
-       DEVLINK_CMD_SB_OCC_MAX_CLEAR              = 0x1c
-       DEVLINK_CMD_ESWITCH_GET                   = 0x1d
-       DEVLINK_CMD_ESWITCH_SET                   = 0x1e
-       DEVLINK_CMD_DPIPE_TABLE_GET               = 0x1f
-       DEVLINK_CMD_DPIPE_ENTRIES_GET             = 0x20
-       DEVLINK_CMD_DPIPE_HEADERS_GET             = 0x21
-       DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET      = 0x22
-       DEVLINK_CMD_MAX                           = 0x48
-       DEVLINK_PORT_TYPE_NOTSET                  = 0x0
-       DEVLINK_PORT_TYPE_AUTO                    = 0x1
-       DEVLINK_PORT_TYPE_ETH                     = 0x2
-       DEVLINK_PORT_TYPE_IB                      = 0x3
-       DEVLINK_SB_POOL_TYPE_INGRESS              = 0x0
-       DEVLINK_SB_POOL_TYPE_EGRESS               = 0x1
-       DEVLINK_SB_THRESHOLD_TYPE_STATIC          = 0x0
-       DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC         = 0x1
-       DEVLINK_ESWITCH_MODE_LEGACY               = 0x0
-       DEVLINK_ESWITCH_MODE_SWITCHDEV            = 0x1
-       DEVLINK_ESWITCH_INLINE_MODE_NONE          = 0x0
-       DEVLINK_ESWITCH_INLINE_MODE_LINK          = 0x1
-       DEVLINK_ESWITCH_INLINE_MODE_NETWORK       = 0x2
-       DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT     = 0x3
-       DEVLINK_ESWITCH_ENCAP_MODE_NONE           = 0x0
-       DEVLINK_ESWITCH_ENCAP_MODE_BASIC          = 0x1
-       DEVLINK_ATTR_UNSPEC                       = 0x0
-       DEVLINK_ATTR_BUS_NAME                     = 0x1
-       DEVLINK_ATTR_DEV_NAME                     = 0x2
-       DEVLINK_ATTR_PORT_INDEX                   = 0x3
-       DEVLINK_ATTR_PORT_TYPE                    = 0x4
-       DEVLINK_ATTR_PORT_DESIRED_TYPE            = 0x5
-       DEVLINK_ATTR_PORT_NETDEV_IFINDEX          = 0x6
-       DEVLINK_ATTR_PORT_NETDEV_NAME             = 0x7
-       DEVLINK_ATTR_PORT_IBDEV_NAME              = 0x8
-       DEVLINK_ATTR_PORT_SPLIT_COUNT             = 0x9
-       DEVLINK_ATTR_PORT_SPLIT_GROUP             = 0xa
-       DEVLINK_ATTR_SB_INDEX                     = 0xb
-       DEVLINK_ATTR_SB_SIZE                      = 0xc
-       DEVLINK_ATTR_SB_INGRESS_POOL_COUNT        = 0xd
-       DEVLINK_ATTR_SB_EGRESS_POOL_COUNT         = 0xe
-       DEVLINK_ATTR_SB_INGRESS_TC_COUNT          = 0xf
-       DEVLINK_ATTR_SB_EGRESS_TC_COUNT           = 0x10
-       DEVLINK_ATTR_SB_POOL_INDEX                = 0x11
-       DEVLINK_ATTR_SB_POOL_TYPE                 = 0x12
-       DEVLINK_ATTR_SB_POOL_SIZE                 = 0x13
-       DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE       = 0x14
-       DEVLINK_ATTR_SB_THRESHOLD                 = 0x15
-       DEVLINK_ATTR_SB_TC_INDEX                  = 0x16
-       DEVLINK_ATTR_SB_OCC_CUR                   = 0x17
-       DEVLINK_ATTR_SB_OCC_MAX                   = 0x18
-       DEVLINK_ATTR_ESWITCH_MODE                 = 0x19
-       DEVLINK_ATTR_ESWITCH_INLINE_MODE          = 0x1a
-       DEVLINK_ATTR_DPIPE_TABLES                 = 0x1b
-       DEVLINK_ATTR_DPIPE_TABLE                  = 0x1c
-       DEVLINK_ATTR_DPIPE_TABLE_NAME             = 0x1d
-       DEVLINK_ATTR_DPIPE_TABLE_SIZE             = 0x1e
-       DEVLINK_ATTR_DPIPE_TABLE_MATCHES          = 0x1f
-       DEVLINK_ATTR_DPIPE_TABLE_ACTIONS          = 0x20
-       DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21
-       DEVLINK_ATTR_DPIPE_ENTRIES                = 0x22
-       DEVLINK_ATTR_DPIPE_ENTRY                  = 0x23
-       DEVLINK_ATTR_DPIPE_ENTRY_INDEX            = 0x24
-       DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES     = 0x25
-       DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES    = 0x26
-       DEVLINK_ATTR_DPIPE_ENTRY_COUNTER          = 0x27
-       DEVLINK_ATTR_DPIPE_MATCH                  = 0x28
-       DEVLINK_ATTR_DPIPE_MATCH_VALUE            = 0x29
-       DEVLINK_ATTR_DPIPE_MATCH_TYPE             = 0x2a
-       DEVLINK_ATTR_DPIPE_ACTION                 = 0x2b
-       DEVLINK_ATTR_DPIPE_ACTION_VALUE           = 0x2c
-       DEVLINK_ATTR_DPIPE_ACTION_TYPE            = 0x2d
-       DEVLINK_ATTR_DPIPE_VALUE                  = 0x2e
-       DEVLINK_ATTR_DPIPE_VALUE_MASK             = 0x2f
-       DEVLINK_ATTR_DPIPE_VALUE_MAPPING          = 0x30
-       DEVLINK_ATTR_DPIPE_HEADERS                = 0x31
-       DEVLINK_ATTR_DPIPE_HEADER                 = 0x32
-       DEVLINK_ATTR_DPIPE_HEADER_NAME            = 0x33
-       DEVLINK_ATTR_DPIPE_HEADER_ID              = 0x34
-       DEVLINK_ATTR_DPIPE_HEADER_FIELDS          = 0x35
-       DEVLINK_ATTR_DPIPE_HEADER_GLOBAL          = 0x36
-       DEVLINK_ATTR_DPIPE_HEADER_INDEX           = 0x37
-       DEVLINK_ATTR_DPIPE_FIELD                  = 0x38
-       DEVLINK_ATTR_DPIPE_FIELD_NAME             = 0x39
-       DEVLINK_ATTR_DPIPE_FIELD_ID               = 0x3a
-       DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH         = 0x3b
-       DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE     = 0x3c
-       DEVLINK_ATTR_PAD                          = 0x3d
-       DEVLINK_ATTR_ESWITCH_ENCAP_MODE           = 0x3e
-       DEVLINK_ATTR_MAX                          = 0x94
-       DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE     = 0x0
-       DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX  = 0x1
-       DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT      = 0x0
-       DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY    = 0x0
-       DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC      = 0x0
-       DEVLINK_DPIPE_FIELD_IPV4_DST_IP           = 0x0
-       DEVLINK_DPIPE_FIELD_IPV6_DST_IP           = 0x0
-       DEVLINK_DPIPE_HEADER_ETHERNET             = 0x0
-       DEVLINK_DPIPE_HEADER_IPV4                 = 0x1
-       DEVLINK_DPIPE_HEADER_IPV6                 = 0x2
+       DEVLINK_CMD_UNSPEC                                 = 0x0
+       DEVLINK_CMD_GET                                    = 0x1
+       DEVLINK_CMD_SET                                    = 0x2
+       DEVLINK_CMD_NEW                                    = 0x3
+       DEVLINK_CMD_DEL                                    = 0x4
+       DEVLINK_CMD_PORT_GET                               = 0x5
+       DEVLINK_CMD_PORT_SET                               = 0x6
+       DEVLINK_CMD_PORT_NEW                               = 0x7
+       DEVLINK_CMD_PORT_DEL                               = 0x8
+       DEVLINK_CMD_PORT_SPLIT                             = 0x9
+       DEVLINK_CMD_PORT_UNSPLIT                           = 0xa
+       DEVLINK_CMD_SB_GET                                 = 0xb
+       DEVLINK_CMD_SB_SET                                 = 0xc
+       DEVLINK_CMD_SB_NEW                                 = 0xd
+       DEVLINK_CMD_SB_DEL                                 = 0xe
+       DEVLINK_CMD_SB_POOL_GET                            = 0xf
+       DEVLINK_CMD_SB_POOL_SET                            = 0x10
+       DEVLINK_CMD_SB_POOL_NEW                            = 0x11
+       DEVLINK_CMD_SB_POOL_DEL                            = 0x12
+       DEVLINK_CMD_SB_PORT_POOL_GET                       = 0x13
+       DEVLINK_CMD_SB_PORT_POOL_SET                       = 0x14
+       DEVLINK_CMD_SB_PORT_POOL_NEW                       = 0x15
+       DEVLINK_CMD_SB_PORT_POOL_DEL                       = 0x16
+       DEVLINK_CMD_SB_TC_POOL_BIND_GET                    = 0x17
+       DEVLINK_CMD_SB_TC_POOL_BIND_SET                    = 0x18
+       DEVLINK_CMD_SB_TC_POOL_BIND_NEW                    = 0x19
+       DEVLINK_CMD_SB_TC_POOL_BIND_DEL                    = 0x1a
+       DEVLINK_CMD_SB_OCC_SNAPSHOT                        = 0x1b
+       DEVLINK_CMD_SB_OCC_MAX_CLEAR                       = 0x1c
+       DEVLINK_CMD_ESWITCH_GET                            = 0x1d
+       DEVLINK_CMD_ESWITCH_SET                            = 0x1e
+       DEVLINK_CMD_DPIPE_TABLE_GET                        = 0x1f
+       DEVLINK_CMD_DPIPE_ENTRIES_GET                      = 0x20
+       DEVLINK_CMD_DPIPE_HEADERS_GET                      = 0x21
+       DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET               = 0x22
+       DEVLINK_CMD_RESOURCE_SET                           = 0x23
+       DEVLINK_CMD_RESOURCE_DUMP                          = 0x24
+       DEVLINK_CMD_RELOAD                                 = 0x25
+       DEVLINK_CMD_PARAM_GET                              = 0x26
+       DEVLINK_CMD_PARAM_SET                              = 0x27
+       DEVLINK_CMD_PARAM_NEW                              = 0x28
+       DEVLINK_CMD_PARAM_DEL                              = 0x29
+       DEVLINK_CMD_REGION_GET                             = 0x2a
+       DEVLINK_CMD_REGION_SET                             = 0x2b
+       DEVLINK_CMD_REGION_NEW                             = 0x2c
+       DEVLINK_CMD_REGION_DEL                             = 0x2d
+       DEVLINK_CMD_REGION_READ                            = 0x2e
+       DEVLINK_CMD_PORT_PARAM_GET                         = 0x2f
+       DEVLINK_CMD_PORT_PARAM_SET                         = 0x30
+       DEVLINK_CMD_PORT_PARAM_NEW                         = 0x31
+       DEVLINK_CMD_PORT_PARAM_DEL                         = 0x32
+       DEVLINK_CMD_INFO_GET                               = 0x33
+       DEVLINK_CMD_HEALTH_REPORTER_GET                    = 0x34
+       DEVLINK_CMD_HEALTH_REPORTER_SET                    = 0x35
+       DEVLINK_CMD_HEALTH_REPORTER_RECOVER                = 0x36
+       DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE               = 0x37
+       DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET               = 0x38
+       DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR             = 0x39
+       DEVLINK_CMD_FLASH_UPDATE                           = 0x3a
+       DEVLINK_CMD_FLASH_UPDATE_END                       = 0x3b
+       DEVLINK_CMD_FLASH_UPDATE_STATUS                    = 0x3c
+       DEVLINK_CMD_TRAP_GET                               = 0x3d
+       DEVLINK_CMD_TRAP_SET                               = 0x3e
+       DEVLINK_CMD_TRAP_NEW                               = 0x3f
+       DEVLINK_CMD_TRAP_DEL                               = 0x40
+       DEVLINK_CMD_TRAP_GROUP_GET                         = 0x41
+       DEVLINK_CMD_TRAP_GROUP_SET                         = 0x42
+       DEVLINK_CMD_TRAP_GROUP_NEW                         = 0x43
+       DEVLINK_CMD_TRAP_GROUP_DEL                         = 0x44
+       DEVLINK_CMD_TRAP_POLICER_GET                       = 0x45
+       DEVLINK_CMD_TRAP_POLICER_SET                       = 0x46
+       DEVLINK_CMD_TRAP_POLICER_NEW                       = 0x47
+       DEVLINK_CMD_TRAP_POLICER_DEL                       = 0x48
+       DEVLINK_CMD_HEALTH_REPORTER_TEST                   = 0x49
+       DEVLINK_CMD_MAX                                    = 0x49
+       DEVLINK_PORT_TYPE_NOTSET                           = 0x0
+       DEVLINK_PORT_TYPE_AUTO                             = 0x1
+       DEVLINK_PORT_TYPE_ETH                              = 0x2
+       DEVLINK_PORT_TYPE_IB                               = 0x3
+       DEVLINK_SB_POOL_TYPE_INGRESS                       = 0x0
+       DEVLINK_SB_POOL_TYPE_EGRESS                        = 0x1
+       DEVLINK_SB_THRESHOLD_TYPE_STATIC                   = 0x0
+       DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC                  = 0x1
+       DEVLINK_ESWITCH_MODE_LEGACY                        = 0x0
+       DEVLINK_ESWITCH_MODE_SWITCHDEV                     = 0x1
+       DEVLINK_ESWITCH_INLINE_MODE_NONE                   = 0x0
+       DEVLINK_ESWITCH_INLINE_MODE_LINK                   = 0x1
+       DEVLINK_ESWITCH_INLINE_MODE_NETWORK                = 0x2
+       DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT              = 0x3
+       DEVLINK_ESWITCH_ENCAP_MODE_NONE                    = 0x0
+       DEVLINK_ESWITCH_ENCAP_MODE_BASIC                   = 0x1
+       DEVLINK_PORT_FLAVOUR_PHYSICAL                      = 0x0
+       DEVLINK_PORT_FLAVOUR_CPU                           = 0x1
+       DEVLINK_PORT_FLAVOUR_DSA                           = 0x2
+       DEVLINK_PORT_FLAVOUR_PCI_PF                        = 0x3
+       DEVLINK_PORT_FLAVOUR_PCI_VF                        = 0x4
+       DEVLINK_PORT_FLAVOUR_VIRTUAL                       = 0x5
+       DEVLINK_PORT_FLAVOUR_UNUSED                        = 0x6
+       DEVLINK_PARAM_CMODE_RUNTIME                        = 0x0
+       DEVLINK_PARAM_CMODE_DRIVERINIT                     = 0x1
+       DEVLINK_PARAM_CMODE_PERMANENT                      = 0x2
+       DEVLINK_PARAM_CMODE_MAX                            = 0x2
+       DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER          = 0x0
+       DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH           = 0x1
+       DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK            = 0x2
+       DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN         = 0x3
+       DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN = 0x0
+       DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS  = 0x1
+       DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER   = 0x2
+       DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK    = 0x3
+       DEVLINK_ATTR_STATS_RX_PACKETS                      = 0x0
+       DEVLINK_ATTR_STATS_RX_BYTES                        = 0x1
+       DEVLINK_ATTR_STATS_RX_DROPPED                      = 0x2
+       DEVLINK_ATTR_STATS_MAX                             = 0x2
+       DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT               = 0x0
+       DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT            = 0x1
+       DEVLINK_FLASH_OVERWRITE_MAX_BIT                    = 0x1
+       DEVLINK_TRAP_ACTION_DROP                           = 0x0
+       DEVLINK_TRAP_ACTION_TRAP                           = 0x1
+       DEVLINK_TRAP_ACTION_MIRROR                         = 0x2
+       DEVLINK_TRAP_TYPE_DROP                             = 0x0
+       DEVLINK_TRAP_TYPE_EXCEPTION                        = 0x1
+       DEVLINK_TRAP_TYPE_CONTROL                          = 0x2
+       DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT            = 0x0
+       DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE          = 0x1
+       DEVLINK_RELOAD_ACTION_UNSPEC                       = 0x0
+       DEVLINK_RELOAD_ACTION_DRIVER_REINIT                = 0x1
+       DEVLINK_RELOAD_ACTION_FW_ACTIVATE                  = 0x2
+       DEVLINK_RELOAD_ACTION_MAX                          = 0x2
+       DEVLINK_RELOAD_LIMIT_UNSPEC                        = 0x0
+       DEVLINK_RELOAD_LIMIT_NO_RESET                      = 0x1
+       DEVLINK_RELOAD_LIMIT_MAX                           = 0x1
+       DEVLINK_ATTR_UNSPEC                                = 0x0
+       DEVLINK_ATTR_BUS_NAME                              = 0x1
+       DEVLINK_ATTR_DEV_NAME                              = 0x2
+       DEVLINK_ATTR_PORT_INDEX                            = 0x3
+       DEVLINK_ATTR_PORT_TYPE                             = 0x4
+       DEVLINK_ATTR_PORT_DESIRED_TYPE                     = 0x5
+       DEVLINK_ATTR_PORT_NETDEV_IFINDEX                   = 0x6
+       DEVLINK_ATTR_PORT_NETDEV_NAME                      = 0x7
+       DEVLINK_ATTR_PORT_IBDEV_NAME                       = 0x8
+       DEVLINK_ATTR_PORT_SPLIT_COUNT                      = 0x9
+       DEVLINK_ATTR_PORT_SPLIT_GROUP                      = 0xa
+       DEVLINK_ATTR_SB_INDEX                              = 0xb
+       DEVLINK_ATTR_SB_SIZE                               = 0xc
+       DEVLINK_ATTR_SB_INGRESS_POOL_COUNT                 = 0xd
+       DEVLINK_ATTR_SB_EGRESS_POOL_COUNT                  = 0xe
+       DEVLINK_ATTR_SB_INGRESS_TC_COUNT                   = 0xf
+       DEVLINK_ATTR_SB_EGRESS_TC_COUNT                    = 0x10
+       DEVLINK_ATTR_SB_POOL_INDEX                         = 0x11
+       DEVLINK_ATTR_SB_POOL_TYPE                          = 0x12
+       DEVLINK_ATTR_SB_POOL_SIZE                          = 0x13
+       DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE                = 0x14
+       DEVLINK_ATTR_SB_THRESHOLD                          = 0x15
+       DEVLINK_ATTR_SB_TC_INDEX                           = 0x16
+       DEVLINK_ATTR_SB_OCC_CUR                            = 0x17
+       DEVLINK_ATTR_SB_OCC_MAX                            = 0x18
+       DEVLINK_ATTR_ESWITCH_MODE                          = 0x19
+       DEVLINK_ATTR_ESWITCH_INLINE_MODE                   = 0x1a
+       DEVLINK_ATTR_DPIPE_TABLES                          = 0x1b
+       DEVLINK_ATTR_DPIPE_TABLE                           = 0x1c
+       DEVLINK_ATTR_DPIPE_TABLE_NAME                      = 0x1d
+       DEVLINK_ATTR_DPIPE_TABLE_SIZE                      = 0x1e
+       DEVLINK_ATTR_DPIPE_TABLE_MATCHES                   = 0x1f
+       DEVLINK_ATTR_DPIPE_TABLE_ACTIONS                   = 0x20
+       DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED          = 0x21
+       DEVLINK_ATTR_DPIPE_ENTRIES                         = 0x22
+       DEVLINK_ATTR_DPIPE_ENTRY                           = 0x23
+       DEVLINK_ATTR_DPIPE_ENTRY_INDEX                     = 0x24
+       DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES              = 0x25
+       DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES             = 0x26
+       DEVLINK_ATTR_DPIPE_ENTRY_COUNTER                   = 0x27
+       DEVLINK_ATTR_DPIPE_MATCH                           = 0x28
+       DEVLINK_ATTR_DPIPE_MATCH_VALUE                     = 0x29
+       DEVLINK_ATTR_DPIPE_MATCH_TYPE                      = 0x2a
+       DEVLINK_ATTR_DPIPE_ACTION                          = 0x2b
+       DEVLINK_ATTR_DPIPE_ACTION_VALUE                    = 0x2c
+       DEVLINK_ATTR_DPIPE_ACTION_TYPE                     = 0x2d
+       DEVLINK_ATTR_DPIPE_VALUE                           = 0x2e
+       DEVLINK_ATTR_DPIPE_VALUE_MASK                      = 0x2f
+       DEVLINK_ATTR_DPIPE_VALUE_MAPPING                   = 0x30
+       DEVLINK_ATTR_DPIPE_HEADERS                         = 0x31
+       DEVLINK_ATTR_DPIPE_HEADER                          = 0x32
+       DEVLINK_ATTR_DPIPE_HEADER_NAME                     = 0x33
+       DEVLINK_ATTR_DPIPE_HEADER_ID                       = 0x34
+       DEVLINK_ATTR_DPIPE_HEADER_FIELDS                   = 0x35
+       DEVLINK_ATTR_DPIPE_HEADER_GLOBAL                   = 0x36
+       DEVLINK_ATTR_DPIPE_HEADER_INDEX                    = 0x37
+       DEVLINK_ATTR_DPIPE_FIELD                           = 0x38
+       DEVLINK_ATTR_DPIPE_FIELD_NAME                      = 0x39
+       DEVLINK_ATTR_DPIPE_FIELD_ID                        = 0x3a
+       DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH                  = 0x3b
+       DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE              = 0x3c
+       DEVLINK_ATTR_PAD                                   = 0x3d
+       DEVLINK_ATTR_ESWITCH_ENCAP_MODE                    = 0x3e
+       DEVLINK_ATTR_RESOURCE_LIST                         = 0x3f
+       DEVLINK_ATTR_RESOURCE                              = 0x40
+       DEVLINK_ATTR_RESOURCE_NAME                         = 0x41
+       DEVLINK_ATTR_RESOURCE_ID                           = 0x42
+       DEVLINK_ATTR_RESOURCE_SIZE                         = 0x43
+       DEVLINK_ATTR_RESOURCE_SIZE_NEW                     = 0x44
+       DEVLINK_ATTR_RESOURCE_SIZE_VALID                   = 0x45
+       DEVLINK_ATTR_RESOURCE_SIZE_MIN                     = 0x46
+       DEVLINK_ATTR_RESOURCE_SIZE_MAX                     = 0x47
+       DEVLINK_ATTR_RESOURCE_SIZE_GRAN                    = 0x48
+       DEVLINK_ATTR_RESOURCE_UNIT                         = 0x49
+       DEVLINK_ATTR_RESOURCE_OCC                          = 0x4a
+       DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID               = 0x4b
+       DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS            = 0x4c
+       DEVLINK_ATTR_PORT_FLAVOUR                          = 0x4d
+       DEVLINK_ATTR_PORT_NUMBER                           = 0x4e
+       DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER             = 0x4f
+       DEVLINK_ATTR_PARAM                                 = 0x50
+       DEVLINK_ATTR_PARAM_NAME                            = 0x51
+       DEVLINK_ATTR_PARAM_GENERIC                         = 0x52
+       DEVLINK_ATTR_PARAM_TYPE                            = 0x53
+       DEVLINK_ATTR_PARAM_VALUES_LIST                     = 0x54
+       DEVLINK_ATTR_PARAM_VALUE                           = 0x55
+       DEVLINK_ATTR_PARAM_VALUE_DATA                      = 0x56
+       DEVLINK_ATTR_PARAM_VALUE_CMODE                     = 0x57
+       DEVLINK_ATTR_REGION_NAME                           = 0x58
+       DEVLINK_ATTR_REGION_SIZE                           = 0x59
+       DEVLINK_ATTR_REGION_SNAPSHOTS                      = 0x5a
+       DEVLINK_ATTR_REGION_SNAPSHOT                       = 0x5b
+       DEVLINK_ATTR_REGION_SNAPSHOT_ID                    = 0x5c
+       DEVLINK_ATTR_REGION_CHUNKS                         = 0x5d
+       DEVLINK_ATTR_REGION_CHUNK                          = 0x5e
+       DEVLINK_ATTR_REGION_CHUNK_DATA                     = 0x5f
+       DEVLINK_ATTR_REGION_CHUNK_ADDR                     = 0x60
+       DEVLINK_ATTR_REGION_CHUNK_LEN                      = 0x61
+       DEVLINK_ATTR_INFO_DRIVER_NAME                      = 0x62
+       DEVLINK_ATTR_INFO_SERIAL_NUMBER                    = 0x63
+       DEVLINK_ATTR_INFO_VERSION_FIXED                    = 0x64
+       DEVLINK_ATTR_INFO_VERSION_RUNNING                  = 0x65
+       DEVLINK_ATTR_INFO_VERSION_STORED                   = 0x66
+       DEVLINK_ATTR_INFO_VERSION_NAME                     = 0x67
+       DEVLINK_ATTR_INFO_VERSION_VALUE                    = 0x68
+       DEVLINK_ATTR_SB_POOL_CELL_SIZE                     = 0x69
+       DEVLINK_ATTR_FMSG                                  = 0x6a
+       DEVLINK_ATTR_FMSG_OBJ_NEST_START                   = 0x6b
+       DEVLINK_ATTR_FMSG_PAIR_NEST_START                  = 0x6c
+       DEVLINK_ATTR_FMSG_ARR_NEST_START                   = 0x6d
+       DEVLINK_ATTR_FMSG_NEST_END                         = 0x6e
+       DEVLINK_ATTR_FMSG_OBJ_NAME                         = 0x6f
+       DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE                   = 0x70
+       DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA                   = 0x71
+       DEVLINK_ATTR_HEALTH_REPORTER                       = 0x72
+       DEVLINK_ATTR_HEALTH_REPORTER_NAME                  = 0x73
+       DEVLINK_ATTR_HEALTH_REPORTER_STATE                 = 0x74
+       DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT             = 0x75
+       DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT         = 0x76
+       DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS               = 0x77
+       DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD       = 0x78
+       DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER          = 0x79
+       DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME                = 0x7a
+       DEVLINK_ATTR_FLASH_UPDATE_COMPONENT                = 0x7b
+       DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG               = 0x7c
+       DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE              = 0x7d
+       DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL             = 0x7e
+       DEVLINK_ATTR_PORT_PCI_PF_NUMBER                    = 0x7f
+       DEVLINK_ATTR_PORT_PCI_VF_NUMBER                    = 0x80
+       DEVLINK_ATTR_STATS                                 = 0x81
+       DEVLINK_ATTR_TRAP_NAME                             = 0x82
+       DEVLINK_ATTR_TRAP_ACTION                           = 0x83
+       DEVLINK_ATTR_TRAP_TYPE                             = 0x84
+       DEVLINK_ATTR_TRAP_GENERIC                          = 0x85
+       DEVLINK_ATTR_TRAP_METADATA                         = 0x86
+       DEVLINK_ATTR_TRAP_GROUP_NAME                       = 0x87
+       DEVLINK_ATTR_RELOAD_FAILED                         = 0x88
+       DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS            = 0x89
+       DEVLINK_ATTR_NETNS_FD                              = 0x8a
+       DEVLINK_ATTR_NETNS_PID                             = 0x8b
+       DEVLINK_ATTR_NETNS_ID                              = 0x8c
+       DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP             = 0x8d
+       DEVLINK_ATTR_TRAP_POLICER_ID                       = 0x8e
+       DEVLINK_ATTR_TRAP_POLICER_RATE                     = 0x8f
+       DEVLINK_ATTR_TRAP_POLICER_BURST                    = 0x90
+       DEVLINK_ATTR_PORT_FUNCTION                         = 0x91
+       DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER              = 0x92
+       DEVLINK_ATTR_PORT_LANES                            = 0x93
+       DEVLINK_ATTR_PORT_SPLITTABLE                       = 0x94
+       DEVLINK_ATTR_PORT_EXTERNAL                         = 0x95
+       DEVLINK_ATTR_PORT_CONTROLLER_NUMBER                = 0x96
+       DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT           = 0x97
+       DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK           = 0x98
+       DEVLINK_ATTR_RELOAD_ACTION                         = 0x99
+       DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED              = 0x9a
+       DEVLINK_ATTR_RELOAD_LIMITS                         = 0x9b
+       DEVLINK_ATTR_DEV_STATS                             = 0x9c
+       DEVLINK_ATTR_RELOAD_STATS                          = 0x9d
+       DEVLINK_ATTR_RELOAD_STATS_ENTRY                    = 0x9e
+       DEVLINK_ATTR_RELOAD_STATS_LIMIT                    = 0x9f
+       DEVLINK_ATTR_RELOAD_STATS_VALUE                    = 0xa0
+       DEVLINK_ATTR_REMOTE_RELOAD_STATS                   = 0xa1
+       DEVLINK_ATTR_RELOAD_ACTION_INFO                    = 0xa2
+       DEVLINK_ATTR_RELOAD_ACTION_STATS                   = 0xa3
+       DEVLINK_ATTR_MAX                                   = 0xa3
+       DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE              = 0x0
+       DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX           = 0x1
+       DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT               = 0x0
+       DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY             = 0x0
+       DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC               = 0x0
+       DEVLINK_DPIPE_FIELD_IPV4_DST_IP                    = 0x0
+       DEVLINK_DPIPE_FIELD_IPV6_DST_IP                    = 0x0
+       DEVLINK_DPIPE_HEADER_ETHERNET                      = 0x0
+       DEVLINK_DPIPE_HEADER_IPV4                          = 0x1
+       DEVLINK_DPIPE_HEADER_IPV6                          = 0x2
+       DEVLINK_RESOURCE_UNIT_ENTRY                        = 0x0
+       DEVLINK_PORT_FUNCTION_ATTR_UNSPEC                  = 0x0
+       DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR                 = 0x1
+       DEVLINK_PORT_FUNCTION_ATTR_MAX                     = 0x1
 )
 
 type FsverityDigest struct {
@@ -2999,3 +3223,461 @@ const (
        MPLS_IPTUNNEL_TTL    = 0x2
        MPLS_IPTUNNEL_MAX    = 0x2
 )
+
+const (
+       ETHTOOL_ID_UNSPEC                                                       = 0x0
+       ETHTOOL_RX_COPYBREAK                                                    = 0x1
+       ETHTOOL_TX_COPYBREAK                                                    = 0x2
+       ETHTOOL_PFC_PREVENTION_TOUT                                             = 0x3
+       ETHTOOL_TUNABLE_UNSPEC                                                  = 0x0
+       ETHTOOL_TUNABLE_U8                                                      = 0x1
+       ETHTOOL_TUNABLE_U16                                                     = 0x2
+       ETHTOOL_TUNABLE_U32                                                     = 0x3
+       ETHTOOL_TUNABLE_U64                                                     = 0x4
+       ETHTOOL_TUNABLE_STRING                                                  = 0x5
+       ETHTOOL_TUNABLE_S8                                                      = 0x6
+       ETHTOOL_TUNABLE_S16                                                     = 0x7
+       ETHTOOL_TUNABLE_S32                                                     = 0x8
+       ETHTOOL_TUNABLE_S64                                                     = 0x9
+       ETHTOOL_PHY_ID_UNSPEC                                                   = 0x0
+       ETHTOOL_PHY_DOWNSHIFT                                                   = 0x1
+       ETHTOOL_PHY_FAST_LINK_DOWN                                              = 0x2
+       ETHTOOL_PHY_EDPD                                                        = 0x3
+       ETHTOOL_LINK_EXT_STATE_AUTONEG                                          = 0x0
+       ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE                            = 0x1
+       ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH                            = 0x2
+       ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY                             = 0x3
+       ETHTOOL_LINK_EXT_STATE_NO_CABLE                                         = 0x4
+       ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE                                      = 0x5
+       ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE                                     = 0x6
+       ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE                              = 0x7
+       ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED                            = 0x8
+       ETHTOOL_LINK_EXT_STATE_OVERHEAT                                         = 0x9
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED                        = 0x1
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED                           = 0x2
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED                  = 0x3
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE             = 0x4
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE               = 0x5
+       ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD                                     = 0x6
+       ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED                 = 0x1
+       ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT                    = 0x2
+       ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 0x3
+       ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT                               = 0x4
+       ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK            = 0x1
+       ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK               = 0x2
+       ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS              = 0x3
+       ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED                      = 0x4
+       ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED                      = 0x5
+       ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS           = 0x1
+       ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE                          = 0x2
+       ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE                          = 0x1
+       ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE                         = 0x2
+       ETHTOOL_FLASH_ALL_REGIONS                                               = 0x0
+       ETHTOOL_F_UNSUPPORTED__BIT                                              = 0x0
+       ETHTOOL_F_WISH__BIT                                                     = 0x1
+       ETHTOOL_F_COMPAT__BIT                                                   = 0x2
+       ETHTOOL_FEC_NONE_BIT                                                    = 0x0
+       ETHTOOL_FEC_AUTO_BIT                                                    = 0x1
+       ETHTOOL_FEC_OFF_BIT                                                     = 0x2
+       ETHTOOL_FEC_RS_BIT                                                      = 0x3
+       ETHTOOL_FEC_BASER_BIT                                                   = 0x4
+       ETHTOOL_FEC_LLRS_BIT                                                    = 0x5
+       ETHTOOL_LINK_MODE_10baseT_Half_BIT                                      = 0x0
+       ETHTOOL_LINK_MODE_10baseT_Full_BIT                                      = 0x1
+       ETHTOOL_LINK_MODE_100baseT_Half_BIT                                     = 0x2
+       ETHTOOL_LINK_MODE_100baseT_Full_BIT                                     = 0x3
+       ETHTOOL_LINK_MODE_1000baseT_Half_BIT                                    = 0x4
+       ETHTOOL_LINK_MODE_1000baseT_Full_BIT                                    = 0x5
+       ETHTOOL_LINK_MODE_Autoneg_BIT                                           = 0x6
+       ETHTOOL_LINK_MODE_TP_BIT                                                = 0x7
+       ETHTOOL_LINK_MODE_AUI_BIT                                               = 0x8
+       ETHTOOL_LINK_MODE_MII_BIT                                               = 0x9
+       ETHTOOL_LINK_MODE_FIBRE_BIT                                             = 0xa
+       ETHTOOL_LINK_MODE_BNC_BIT                                               = 0xb
+       ETHTOOL_LINK_MODE_10000baseT_Full_BIT                                   = 0xc
+       ETHTOOL_LINK_MODE_Pause_BIT                                             = 0xd
+       ETHTOOL_LINK_MODE_Asym_Pause_BIT                                        = 0xe
+       ETHTOOL_LINK_MODE_2500baseX_Full_BIT                                    = 0xf
+       ETHTOOL_LINK_MODE_Backplane_BIT                                         = 0x10
+       ETHTOOL_LINK_MODE_1000baseKX_Full_BIT                                   = 0x11
+       ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT                                 = 0x12
+       ETHTOOL_LINK_MODE_10000baseKR_Full_BIT                                  = 0x13
+       ETHTOOL_LINK_MODE_10000baseR_FEC_BIT                                    = 0x14
+       ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT                                = 0x15
+       ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT                                 = 0x16
+       ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT                                 = 0x17
+       ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT                                 = 0x18
+       ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT                                 = 0x19
+       ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT                                 = 0x1a
+       ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT                                 = 0x1b
+       ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT                                 = 0x1c
+       ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT                                 = 0x1d
+       ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT                                 = 0x1e
+       ETHTOOL_LINK_MODE_25000baseCR_Full_BIT                                  = 0x1f
+       ETHTOOL_LINK_MODE_25000baseKR_Full_BIT                                  = 0x20
+       ETHTOOL_LINK_MODE_25000baseSR_Full_BIT                                  = 0x21
+       ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT                                 = 0x22
+       ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT                                 = 0x23
+       ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT                                = 0x24
+       ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT                                = 0x25
+       ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT                                = 0x26
+       ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT                            = 0x27
+       ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT                                 = 0x28
+       ETHTOOL_LINK_MODE_1000baseX_Full_BIT                                    = 0x29
+       ETHTOOL_LINK_MODE_10000baseCR_Full_BIT                                  = 0x2a
+       ETHTOOL_LINK_MODE_10000baseSR_Full_BIT                                  = 0x2b
+       ETHTOOL_LINK_MODE_10000baseLR_Full_BIT                                  = 0x2c
+       ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT                                 = 0x2d
+       ETHTOOL_LINK_MODE_10000baseER_Full_BIT                                  = 0x2e
+       ETHTOOL_LINK_MODE_2500baseT_Full_BIT                                    = 0x2f
+       ETHTOOL_LINK_MODE_5000baseT_Full_BIT                                    = 0x30
+       ETHTOOL_LINK_MODE_FEC_NONE_BIT                                          = 0x31
+       ETHTOOL_LINK_MODE_FEC_RS_BIT                                            = 0x32
+       ETHTOOL_LINK_MODE_FEC_BASER_BIT                                         = 0x33
+       ETHTOOL_LINK_MODE_50000baseKR_Full_BIT                                  = 0x34
+       ETHTOOL_LINK_MODE_50000baseSR_Full_BIT                                  = 0x35
+       ETHTOOL_LINK_MODE_50000baseCR_Full_BIT                                  = 0x36
+       ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT                            = 0x37
+       ETHTOOL_LINK_MODE_50000baseDR_Full_BIT                                  = 0x38
+       ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT                                = 0x39
+       ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT                                = 0x3a
+       ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT                                = 0x3b
+       ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT                        = 0x3c
+       ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT                                = 0x3d
+       ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT                                = 0x3e
+       ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT                                = 0x3f
+       ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT                        = 0x40
+       ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT                                = 0x41
+       ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT                                = 0x42
+       ETHTOOL_LINK_MODE_100baseT1_Full_BIT                                    = 0x43
+       ETHTOOL_LINK_MODE_1000baseT1_Full_BIT                                   = 0x44
+       ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT                                = 0x45
+       ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT                                = 0x46
+       ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT                        = 0x47
+       ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT                                = 0x48
+       ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT                                = 0x49
+       ETHTOOL_LINK_MODE_FEC_LLRS_BIT                                          = 0x4a
+       ETHTOOL_LINK_MODE_100000baseKR_Full_BIT                                 = 0x4b
+       ETHTOOL_LINK_MODE_100000baseSR_Full_BIT                                 = 0x4c
+       ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT                           = 0x4d
+       ETHTOOL_LINK_MODE_100000baseCR_Full_BIT                                 = 0x4e
+       ETHTOOL_LINK_MODE_100000baseDR_Full_BIT                                 = 0x4f
+       ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT                                = 0x50
+       ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT                                = 0x51
+       ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT                        = 0x52
+       ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT                                = 0x53
+       ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT                                = 0x54
+       ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT                                = 0x55
+       ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT                                = 0x56
+       ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT                        = 0x57
+       ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT                                = 0x58
+       ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT                                = 0x59
+       ETHTOOL_LINK_MODE_100baseFX_Half_BIT                                    = 0x5a
+       ETHTOOL_LINK_MODE_100baseFX_Full_BIT                                    = 0x5b
+
+       ETHTOOL_MSG_USER_NONE                     = 0x0
+       ETHTOOL_MSG_STRSET_GET                    = 0x1
+       ETHTOOL_MSG_LINKINFO_GET                  = 0x2
+       ETHTOOL_MSG_LINKINFO_SET                  = 0x3
+       ETHTOOL_MSG_LINKMODES_GET                 = 0x4
+       ETHTOOL_MSG_LINKMODES_SET                 = 0x5
+       ETHTOOL_MSG_LINKSTATE_GET                 = 0x6
+       ETHTOOL_MSG_DEBUG_GET                     = 0x7
+       ETHTOOL_MSG_DEBUG_SET                     = 0x8
+       ETHTOOL_MSG_WOL_GET                       = 0x9
+       ETHTOOL_MSG_WOL_SET                       = 0xa
+       ETHTOOL_MSG_FEATURES_GET                  = 0xb
+       ETHTOOL_MSG_FEATURES_SET                  = 0xc
+       ETHTOOL_MSG_PRIVFLAGS_GET                 = 0xd
+       ETHTOOL_MSG_PRIVFLAGS_SET                 = 0xe
+       ETHTOOL_MSG_RINGS_GET                     = 0xf
+       ETHTOOL_MSG_RINGS_SET                     = 0x10
+       ETHTOOL_MSG_CHANNELS_GET                  = 0x11
+       ETHTOOL_MSG_CHANNELS_SET                  = 0x12
+       ETHTOOL_MSG_COALESCE_GET                  = 0x13
+       ETHTOOL_MSG_COALESCE_SET                  = 0x14
+       ETHTOOL_MSG_PAUSE_GET                     = 0x15
+       ETHTOOL_MSG_PAUSE_SET                     = 0x16
+       ETHTOOL_MSG_EEE_GET                       = 0x17
+       ETHTOOL_MSG_EEE_SET                       = 0x18
+       ETHTOOL_MSG_TSINFO_GET                    = 0x19
+       ETHTOOL_MSG_CABLE_TEST_ACT                = 0x1a
+       ETHTOOL_MSG_CABLE_TEST_TDR_ACT            = 0x1b
+       ETHTOOL_MSG_TUNNEL_INFO_GET               = 0x1c
+       ETHTOOL_MSG_USER_MAX                      = 0x1c
+       ETHTOOL_MSG_KERNEL_NONE                   = 0x0
+       ETHTOOL_MSG_STRSET_GET_REPLY              = 0x1
+       ETHTOOL_MSG_LINKINFO_GET_REPLY            = 0x2
+       ETHTOOL_MSG_LINKINFO_NTF                  = 0x3
+       ETHTOOL_MSG_LINKMODES_GET_REPLY           = 0x4
+       ETHTOOL_MSG_LINKMODES_NTF                 = 0x5
+       ETHTOOL_MSG_LINKSTATE_GET_REPLY           = 0x6
+       ETHTOOL_MSG_DEBUG_GET_REPLY               = 0x7
+       ETHTOOL_MSG_DEBUG_NTF                     = 0x8
+       ETHTOOL_MSG_WOL_GET_REPLY                 = 0x9
+       ETHTOOL_MSG_WOL_NTF                       = 0xa
+       ETHTOOL_MSG_FEATURES_GET_REPLY            = 0xb
+       ETHTOOL_MSG_FEATURES_SET_REPLY            = 0xc
+       ETHTOOL_MSG_FEATURES_NTF                  = 0xd
+       ETHTOOL_MSG_PRIVFLAGS_GET_REPLY           = 0xe
+       ETHTOOL_MSG_PRIVFLAGS_NTF                 = 0xf
+       ETHTOOL_MSG_RINGS_GET_REPLY               = 0x10
+       ETHTOOL_MSG_RINGS_NTF                     = 0x11
+       ETHTOOL_MSG_CHANNELS_GET_REPLY            = 0x12
+       ETHTOOL_MSG_CHANNELS_NTF                  = 0x13
+       ETHTOOL_MSG_COALESCE_GET_REPLY            = 0x14
+       ETHTOOL_MSG_COALESCE_NTF                  = 0x15
+       ETHTOOL_MSG_PAUSE_GET_REPLY               = 0x16
+       ETHTOOL_MSG_PAUSE_NTF                     = 0x17
+       ETHTOOL_MSG_EEE_GET_REPLY                 = 0x18
+       ETHTOOL_MSG_EEE_NTF                       = 0x19
+       ETHTOOL_MSG_TSINFO_GET_REPLY              = 0x1a
+       ETHTOOL_MSG_CABLE_TEST_NTF                = 0x1b
+       ETHTOOL_MSG_CABLE_TEST_TDR_NTF            = 0x1c
+       ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY         = 0x1d
+       ETHTOOL_MSG_KERNEL_MAX                    = 0x1d
+       ETHTOOL_A_HEADER_UNSPEC                   = 0x0
+       ETHTOOL_A_HEADER_DEV_INDEX                = 0x1
+       ETHTOOL_A_HEADER_DEV_NAME                 = 0x2
+       ETHTOOL_A_HEADER_FLAGS                    = 0x3
+       ETHTOOL_A_HEADER_MAX                      = 0x3
+       ETHTOOL_A_BITSET_BIT_UNSPEC               = 0x0
+       ETHTOOL_A_BITSET_BIT_INDEX                = 0x1
+       ETHTOOL_A_BITSET_BIT_NAME                 = 0x2
+       ETHTOOL_A_BITSET_BIT_VALUE                = 0x3
+       ETHTOOL_A_BITSET_BIT_MAX                  = 0x3
+       ETHTOOL_A_BITSET_BITS_UNSPEC              = 0x0
+       ETHTOOL_A_BITSET_BITS_BIT                 = 0x1
+       ETHTOOL_A_BITSET_BITS_MAX                 = 0x1
+       ETHTOOL_A_BITSET_UNSPEC                   = 0x0
+       ETHTOOL_A_BITSET_NOMASK                   = 0x1
+       ETHTOOL_A_BITSET_SIZE                     = 0x2
+       ETHTOOL_A_BITSET_BITS                     = 0x3
+       ETHTOOL_A_BITSET_VALUE                    = 0x4
+       ETHTOOL_A_BITSET_MASK                     = 0x5
+       ETHTOOL_A_BITSET_MAX                      = 0x5
+       ETHTOOL_A_STRING_UNSPEC                   = 0x0
+       ETHTOOL_A_STRING_INDEX                    = 0x1
+       ETHTOOL_A_STRING_VALUE                    = 0x2
+       ETHTOOL_A_STRING_MAX                      = 0x2
+       ETHTOOL_A_STRINGS_UNSPEC                  = 0x0
+       ETHTOOL_A_STRINGS_STRING                  = 0x1
+       ETHTOOL_A_STRINGS_MAX                     = 0x1
+       ETHTOOL_A_STRINGSET_UNSPEC                = 0x0
+       ETHTOOL_A_STRINGSET_ID                    = 0x1
+       ETHTOOL_A_STRINGSET_COUNT                 = 0x2
+       ETHTOOL_A_STRINGSET_STRINGS               = 0x3
+       ETHTOOL_A_STRINGSET_MAX                   = 0x3
+       ETHTOOL_A_STRINGSETS_UNSPEC               = 0x0
+       ETHTOOL_A_STRINGSETS_STRINGSET            = 0x1
+       ETHTOOL_A_STRINGSETS_MAX                  = 0x1
+       ETHTOOL_A_STRSET_UNSPEC                   = 0x0
+       ETHTOOL_A_STRSET_HEADER                   = 0x1
+       ETHTOOL_A_STRSET_STRINGSETS               = 0x2
+       ETHTOOL_A_STRSET_COUNTS_ONLY              = 0x3
+       ETHTOOL_A_STRSET_MAX                      = 0x3
+       ETHTOOL_A_LINKINFO_UNSPEC                 = 0x0
+       ETHTOOL_A_LINKINFO_HEADER                 = 0x1
+       ETHTOOL_A_LINKINFO_PORT                   = 0x2
+       ETHTOOL_A_LINKINFO_PHYADDR                = 0x3
+       ETHTOOL_A_LINKINFO_TP_MDIX                = 0x4
+       ETHTOOL_A_LINKINFO_TP_MDIX_CTRL           = 0x5
+       ETHTOOL_A_LINKINFO_TRANSCEIVER            = 0x6
+       ETHTOOL_A_LINKINFO_MAX                    = 0x6
+       ETHTOOL_A_LINKMODES_UNSPEC                = 0x0
+       ETHTOOL_A_LINKMODES_HEADER                = 0x1
+       ETHTOOL_A_LINKMODES_AUTONEG               = 0x2
+       ETHTOOL_A_LINKMODES_OURS                  = 0x3
+       ETHTOOL_A_LINKMODES_PEER                  = 0x4
+       ETHTOOL_A_LINKMODES_SPEED                 = 0x5
+       ETHTOOL_A_LINKMODES_DUPLEX                = 0x6
+       ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG      = 0x7
+       ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE    = 0x8
+       ETHTOOL_A_LINKMODES_MAX                   = 0x8
+       ETHTOOL_A_LINKSTATE_UNSPEC                = 0x0
+       ETHTOOL_A_LINKSTATE_HEADER                = 0x1
+       ETHTOOL_A_LINKSTATE_LINK                  = 0x2
+       ETHTOOL_A_LINKSTATE_SQI                   = 0x3
+       ETHTOOL_A_LINKSTATE_SQI_MAX               = 0x4
+       ETHTOOL_A_LINKSTATE_EXT_STATE             = 0x5
+       ETHTOOL_A_LINKSTATE_EXT_SUBSTATE          = 0x6
+       ETHTOOL_A_LINKSTATE_MAX                   = 0x6
+       ETHTOOL_A_DEBUG_UNSPEC                    = 0x0
+       ETHTOOL_A_DEBUG_HEADER                    = 0x1
+       ETHTOOL_A_DEBUG_MSGMASK                   = 0x2
+       ETHTOOL_A_DEBUG_MAX                       = 0x2
+       ETHTOOL_A_WOL_UNSPEC                      = 0x0
+       ETHTOOL_A_WOL_HEADER                      = 0x1
+       ETHTOOL_A_WOL_MODES                       = 0x2
+       ETHTOOL_A_WOL_SOPASS                      = 0x3
+       ETHTOOL_A_WOL_MAX                         = 0x3
+       ETHTOOL_A_FEATURES_UNSPEC                 = 0x0
+       ETHTOOL_A_FEATURES_HEADER                 = 0x1
+       ETHTOOL_A_FEATURES_HW                     = 0x2
+       ETHTOOL_A_FEATURES_WANTED                 = 0x3
+       ETHTOOL_A_FEATURES_ACTIVE                 = 0x4
+       ETHTOOL_A_FEATURES_NOCHANGE               = 0x5
+       ETHTOOL_A_FEATURES_MAX                    = 0x5
+       ETHTOOL_A_PRIVFLAGS_UNSPEC                = 0x0
+       ETHTOOL_A_PRIVFLAGS_HEADER                = 0x1
+       ETHTOOL_A_PRIVFLAGS_FLAGS                 = 0x2
+       ETHTOOL_A_PRIVFLAGS_MAX                   = 0x2
+       ETHTOOL_A_RINGS_UNSPEC                    = 0x0
+       ETHTOOL_A_RINGS_HEADER                    = 0x1
+       ETHTOOL_A_RINGS_RX_MAX                    = 0x2
+       ETHTOOL_A_RINGS_RX_MINI_MAX               = 0x3
+       ETHTOOL_A_RINGS_RX_JUMBO_MAX              = 0x4
+       ETHTOOL_A_RINGS_TX_MAX                    = 0x5
+       ETHTOOL_A_RINGS_RX                        = 0x6
+       ETHTOOL_A_RINGS_RX_MINI                   = 0x7
+       ETHTOOL_A_RINGS_RX_JUMBO                  = 0x8
+       ETHTOOL_A_RINGS_TX                        = 0x9
+       ETHTOOL_A_RINGS_MAX                       = 0x9
+       ETHTOOL_A_CHANNELS_UNSPEC                 = 0x0
+       ETHTOOL_A_CHANNELS_HEADER                 = 0x1
+       ETHTOOL_A_CHANNELS_RX_MAX                 = 0x2
+       ETHTOOL_A_CHANNELS_TX_MAX                 = 0x3
+       ETHTOOL_A_CHANNELS_OTHER_MAX              = 0x4
+       ETHTOOL_A_CHANNELS_COMBINED_MAX           = 0x5
+       ETHTOOL_A_CHANNELS_RX_COUNT               = 0x6
+       ETHTOOL_A_CHANNELS_TX_COUNT               = 0x7
+       ETHTOOL_A_CHANNELS_OTHER_COUNT            = 0x8
+       ETHTOOL_A_CHANNELS_COMBINED_COUNT         = 0x9
+       ETHTOOL_A_CHANNELS_MAX                    = 0x9
+       ETHTOOL_A_COALESCE_UNSPEC                 = 0x0
+       ETHTOOL_A_COALESCE_HEADER                 = 0x1
+       ETHTOOL_A_COALESCE_RX_USECS               = 0x2
+       ETHTOOL_A_COALESCE_RX_MAX_FRAMES          = 0x3
+       ETHTOOL_A_COALESCE_RX_USECS_IRQ           = 0x4
+       ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ      = 0x5
+       ETHTOOL_A_COALESCE_TX_USECS               = 0x6
+       ETHTOOL_A_COALESCE_TX_MAX_FRAMES          = 0x7
+       ETHTOOL_A_COALESCE_TX_USECS_IRQ           = 0x8
+       ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ      = 0x9
+       ETHTOOL_A_COALESCE_STATS_BLOCK_USECS      = 0xa
+       ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX        = 0xb
+       ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX        = 0xc
+       ETHTOOL_A_COALESCE_PKT_RATE_LOW           = 0xd
+       ETHTOOL_A_COALESCE_RX_USECS_LOW           = 0xe
+       ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW      = 0xf
+       ETHTOOL_A_COALESCE_TX_USECS_LOW           = 0x10
+       ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW      = 0x11
+       ETHTOOL_A_COALESCE_PKT_RATE_HIGH          = 0x12
+       ETHTOOL_A_COALESCE_RX_USECS_HIGH          = 0x13
+       ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH     = 0x14
+       ETHTOOL_A_COALESCE_TX_USECS_HIGH          = 0x15
+       ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH     = 0x16
+       ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL   = 0x17
+       ETHTOOL_A_COALESCE_MAX                    = 0x17
+       ETHTOOL_A_PAUSE_UNSPEC                    = 0x0
+       ETHTOOL_A_PAUSE_HEADER                    = 0x1
+       ETHTOOL_A_PAUSE_AUTONEG                   = 0x2
+       ETHTOOL_A_PAUSE_RX                        = 0x3
+       ETHTOOL_A_PAUSE_TX                        = 0x4
+       ETHTOOL_A_PAUSE_STATS                     = 0x5
+       ETHTOOL_A_PAUSE_MAX                       = 0x5
+       ETHTOOL_A_PAUSE_STAT_UNSPEC               = 0x0
+       ETHTOOL_A_PAUSE_STAT_PAD                  = 0x1
+       ETHTOOL_A_PAUSE_STAT_TX_FRAMES            = 0x2
+       ETHTOOL_A_PAUSE_STAT_RX_FRAMES            = 0x3
+       ETHTOOL_A_PAUSE_STAT_MAX                  = 0x3
+       ETHTOOL_A_EEE_UNSPEC                      = 0x0
+       ETHTOOL_A_EEE_HEADER                      = 0x1
+       ETHTOOL_A_EEE_MODES_OURS                  = 0x2
+       ETHTOOL_A_EEE_MODES_PEER                  = 0x3
+       ETHTOOL_A_EEE_ACTIVE                      = 0x4
+       ETHTOOL_A_EEE_ENABLED                     = 0x5
+       ETHTOOL_A_EEE_TX_LPI_ENABLED              = 0x6
+       ETHTOOL_A_EEE_TX_LPI_TIMER                = 0x7
+       ETHTOOL_A_EEE_MAX                         = 0x7
+       ETHTOOL_A_TSINFO_UNSPEC                   = 0x0
+       ETHTOOL_A_TSINFO_HEADER                   = 0x1
+       ETHTOOL_A_TSINFO_TIMESTAMPING             = 0x2
+       ETHTOOL_A_TSINFO_TX_TYPES                 = 0x3
+       ETHTOOL_A_TSINFO_RX_FILTERS               = 0x4
+       ETHTOOL_A_TSINFO_PHC_INDEX                = 0x5
+       ETHTOOL_A_TSINFO_MAX                      = 0x5
+       ETHTOOL_A_CABLE_TEST_UNSPEC               = 0x0
+       ETHTOOL_A_CABLE_TEST_HEADER               = 0x1
+       ETHTOOL_A_CABLE_TEST_MAX                  = 0x1
+       ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC        = 0x0
+       ETHTOOL_A_CABLE_RESULT_CODE_OK            = 0x1
+       ETHTOOL_A_CABLE_RESULT_CODE_OPEN          = 0x2
+       ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT    = 0x3
+       ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT   = 0x4
+       ETHTOOL_A_CABLE_PAIR_A                    = 0x0
+       ETHTOOL_A_CABLE_PAIR_B                    = 0x1
+       ETHTOOL_A_CABLE_PAIR_C                    = 0x2
+       ETHTOOL_A_CABLE_PAIR_D                    = 0x3
+       ETHTOOL_A_CABLE_RESULT_UNSPEC             = 0x0
+       ETHTOOL_A_CABLE_RESULT_PAIR               = 0x1
+       ETHTOOL_A_CABLE_RESULT_CODE               = 0x2
+       ETHTOOL_A_CABLE_RESULT_MAX                = 0x2
+       ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC       = 0x0
+       ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR         = 0x1
+       ETHTOOL_A_CABLE_FAULT_LENGTH_CM           = 0x2
+       ETHTOOL_A_CABLE_FAULT_LENGTH_MAX          = 0x2
+       ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC    = 0x0
+       ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED   = 0x1
+       ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 0x2
+       ETHTOOL_A_CABLE_NEST_UNSPEC               = 0x0
+       ETHTOOL_A_CABLE_NEST_RESULT               = 0x1
+       ETHTOOL_A_CABLE_NEST_FAULT_LENGTH         = 0x2
+       ETHTOOL_A_CABLE_NEST_MAX                  = 0x2
+       ETHTOOL_A_CABLE_TEST_NTF_UNSPEC           = 0x0
+       ETHTOOL_A_CABLE_TEST_NTF_HEADER           = 0x1
+       ETHTOOL_A_CABLE_TEST_NTF_STATUS           = 0x2
+       ETHTOOL_A_CABLE_TEST_NTF_NEST             = 0x3
+       ETHTOOL_A_CABLE_TEST_NTF_MAX              = 0x3
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC       = 0x0
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST        = 0x1
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST         = 0x2
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP         = 0x3
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR         = 0x4
+       ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX          = 0x4
+       ETHTOOL_A_CABLE_TEST_TDR_UNSPEC           = 0x0
+       ETHTOOL_A_CABLE_TEST_TDR_HEADER           = 0x1
+       ETHTOOL_A_CABLE_TEST_TDR_CFG              = 0x2
+       ETHTOOL_A_CABLE_TEST_TDR_MAX              = 0x2
+       ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC          = 0x0
+       ETHTOOL_A_CABLE_AMPLITUDE_PAIR            = 0x1
+       ETHTOOL_A_CABLE_AMPLITUDE_mV              = 0x2
+       ETHTOOL_A_CABLE_AMPLITUDE_MAX             = 0x2
+       ETHTOOL_A_CABLE_PULSE_UNSPEC              = 0x0
+       ETHTOOL_A_CABLE_PULSE_mV                  = 0x1
+       ETHTOOL_A_CABLE_PULSE_MAX                 = 0x1
+       ETHTOOL_A_CABLE_STEP_UNSPEC               = 0x0
+       ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE       = 0x1
+       ETHTOOL_A_CABLE_STEP_LAST_DISTANCE        = 0x2
+       ETHTOOL_A_CABLE_STEP_STEP_DISTANCE        = 0x3
+       ETHTOOL_A_CABLE_STEP_MAX                  = 0x3
+       ETHTOOL_A_CABLE_TDR_NEST_UNSPEC           = 0x0
+       ETHTOOL_A_CABLE_TDR_NEST_STEP             = 0x1
+       ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE        = 0x2
+       ETHTOOL_A_CABLE_TDR_NEST_PULSE            = 0x3
+       ETHTOOL_A_CABLE_TDR_NEST_MAX              = 0x3
+       ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC       = 0x0
+       ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER       = 0x1
+       ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS       = 0x2
+       ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST         = 0x3
+       ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX          = 0x3
+       ETHTOOL_UDP_TUNNEL_TYPE_VXLAN             = 0x0
+       ETHTOOL_UDP_TUNNEL_TYPE_GENEVE            = 0x1
+       ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE         = 0x2
+       ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC         = 0x0
+       ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT           = 0x1
+       ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE           = 0x2
+       ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX            = 0x2
+       ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC         = 0x0
+       ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE           = 0x1
+       ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES          = 0x2
+       ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY          = 0x3
+       ETHTOOL_A_TUNNEL_UDP_TABLE_MAX            = 0x3
+       ETHTOOL_A_TUNNEL_UDP_UNSPEC               = 0x0
+       ETHTOOL_A_TUNNEL_UDP_TABLE                = 0x1
+       ETHTOOL_A_TUNNEL_UDP_MAX                  = 0x1
+       ETHTOOL_A_TUNNEL_INFO_UNSPEC              = 0x0
+       ETHTOOL_A_TUNNEL_INFO_HEADER              = 0x1
+       ETHTOOL_A_TUNNEL_INFO_UDP_PORTS           = 0x2
+       ETHTOOL_A_TUNNEL_INFO_MAX                 = 0x2
+)
index d54618aa61f5862581ab2a1655977136c7026f86..088bd77e3be33a8c2448e5e97c81ed0b8ff5a3f6 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build 386,linux
index 741d25be95742c7078423593d13a69986c2d3ab8..078d958ec956acd1e3c8cc722d0caf6672cbcfd6 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build amd64,linux
index e8d982c3df7bad3e4d45cce33bc103e2565663a2..2d39122f410c2a5c6b93d286e1a7e7aefedc3da4 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build arm,linux
index 311cf2155d5774cb676c32a4befdbacc2a81e1b8..304cbd04536e2c6e9e96e9cba30da36b031f040f 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build arm64,linux
index 1312bdf77feaceabf97f7a935bb821131a4370d4..7d9d57006aa87c60482314625a0256f6c35bc9cd 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build mips,linux
index 2a993481950c8f50bcecb750c4dbe3033b9f07b2..a1eb2577b08910db8ba62f2dcf2576a2466fb6ef 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build mips64,linux
index f964307b293c9d758bb03d327a7de3b1b47303db..2e5ce3b6a69fac5b870bd1397c505674b8fd6b4e 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build mips64le,linux
index ca0fab27020bdc646d72f97d35e426b31f47aef6..bbaa1200b6a6ed05481914ef13b7cceb4d51037c 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build mipsle,linux
index 257e0042473c25d3e0eb7716cc54861bfff33c5d..0e6e8a7748390beadde2975da6fc0fa98dff4f42 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build ppc64,linux
index 980dd31736a6fa97e84b5146b30a3cf24ceaf0bf..7382f385faf6066a9b64b3f1395fd2999c5adfea 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build ppc64le,linux
index d9fdab20b83daee4fdef4f6f4f4b2eb8730a1fe8..28d552216656e168d654db26577a26e29b1aa30f 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build riscv64,linux
index c25de8c679cda805ae7e4473e4d417ce030ce3a7..a91a7a44bd394444038411d7070db2d6f9f7eb15 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build s390x,linux
index 97fca65340e656c9035a3702db7005399e6dae69..f824b2358dc71d6410d37d34a0ba140f4711dfef 100644 (file)
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
 // Code generated by the command above; see README.md. DO NOT EDIT.
 
 // +build sparc64,linux
index a89100c08aec2fd1834ed03a1653962971446ea3..3f11f88e3c6572f1040c7d665e21a467fdd71d38 100644 (file)
@@ -248,6 +248,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x1c
index 289184e0b3a8a17a8acbc9b27ad661c661790088..0bed83af57b37d4d0a06646b66cbbf9de1602397 100644 (file)
@@ -255,6 +255,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index 428c450e4ce0a8774f60dd45d57a62e71da68142..e4e3bf736d86551aefc0057ac0022694e05f1ea8 100644 (file)
@@ -253,6 +253,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x1c
index 6f1f2842cc37746aafa26871315197e6b6ce152c..efac861bb7fa755dc8cd62953612c57e204312e4 100644 (file)
@@ -255,6 +255,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x14
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index 61ea0019a2981ca8a58ec8ebaa4501a6ae77433f..80fa295f1dfcdd755494f5a0f35be51b9aeaf074 100644 (file)
@@ -231,6 +231,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x20
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x1c
index 87a493f68fd3c799f2c904213f20fdb6f2945cd8..560dd6d08af124aa1fd4e95d7d8ef3c8b643f011 100644 (file)
@@ -235,6 +235,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x20
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index d80836efaba392ea04bbde6639388cb83bdbf811..0c1700fa4356a556e30ff668e319c7c83c3e2e8a 100644 (file)
@@ -235,6 +235,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x20
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x8
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x1c
index 4e158746f115912b041a475a33fd637bcc0056da..5b3e46633e9be4ac414c390322f55db7c9dd2780 100644 (file)
@@ -231,6 +231,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x20
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index 992a1f8c01887f41246ceea0d545e762824a803f..62bff16709790b6e8ef383cd6afaaacac4082796 100644 (file)
@@ -231,6 +231,7 @@ const (
        SizeofSockaddrUnix     = 0x6a
        SizeofSockaddrDatalink = 0x20
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index db817f3ba828c6c4ec370e30b849530a4ee7f588..ca512aff7f86f5f04ab522263b22a5faa0b8a4c7 100644 (file)
@@ -234,6 +234,7 @@ const (
        SizeofSockaddrUnix     = 0x6e
        SizeofSockaddrDatalink = 0xfc
        SizeofLinger           = 0x8
+       SizeofIovec            = 0x10
        SizeofIPMreq           = 0x8
        SizeofIPv6Mreq         = 0x14
        SizeofMsghdr           = 0x30
index c71bad127d3f29672cbf2df68f67ecbda73cfda3..0197df87276df8396a3b6139e3a0d6a77d84b37b 100644 (file)
@@ -18,9 +18,11 @@ import (
 )
 
 type Handle uintptr
+type HWND uintptr
 
 const (
        InvalidHandle = ^Handle(0)
+       InvalidHWND   = ^HWND(0)
 
        // Flags for DefineDosDevice.
        DDD_EXACT_MATCH_ON_REMOVE = 0x00000004
@@ -214,6 +216,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW
 //sys  OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error)
 //sys  ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW
+//sys  GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId
+//sys  GetShellWindow() (shellWindow HWND) = user32.GetShellWindow
+//sys  MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW
+//sys  ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx
 //sys  shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath
 //sys  TerminateProcess(handle Handle, exitcode uint32) (err error)
 //sys  GetExitCodeProcess(handle Handle, exitcode *uint32) (err error)
@@ -259,22 +265,35 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect
 //sys  TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile
 //sys  ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW
+//sys  FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.FindFirstChangeNotificationW
+//sys  FindNextChangeNotification(handle Handle) (err error)
+//sys  FindCloseChangeNotification(handle Handle) (err error)
 //sys  CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW
-//sys   CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) = crypt32.CertOpenStore
+//sys  CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) = crypt32.CertOpenStore
 //sys  CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore
-//sys   CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore
+//sys  CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore
 //sys  CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore
 //sys  CertDeleteCertificateFromStore(certContext *CertContext) (err error) = crypt32.CertDeleteCertificateFromStore
-//sys   CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain
-//sys   CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain
-//sys   CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext
-//sys   CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext
-//sys   CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy
+//sys  CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) = crypt32.CertDuplicateCertificateContext
+//sys  PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) = crypt32.PFXImportCertStore
+//sys  CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain
+//sys  CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain
+//sys  CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext
+//sys  CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext
+//sys  CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy
+//sys  CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) = crypt32.CertGetNameStringW
+//sys  CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) = crypt32.CertFindExtension
+//sys  CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) = crypt32.CryptQueryObject
+//sys  CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) = crypt32.CryptDecodeObject
+//sys  CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptProtectData
+//sys  CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptUnprotectData
+//sys  WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) = wintrust.WinVerifyTrustEx
 //sys  RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW
 //sys  RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey
 //sys  RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW
 //sys  RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW
 //sys  RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW
+//sys  RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) = advapi32.RegNotifyChangeKeyValue
 //sys  GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId
 //sys  ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) = kernel32.ProcessIdToSessionId
 //sys  GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode
@@ -341,8 +360,6 @@ func NewCallbackCDecl(fn interface{}) uintptr {
 //sys  QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW
 //sys  SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW
 //sys  SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW
-//sys  MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW
-//sys  ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx
 //sys  InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW
 //sys  SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters
 //sys  GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters
index 265d797cacfcc712ab1fc9943a3014c216f153e9..fd4260762a8da2173ecc714ec69c199b896f2891 100644 (file)
@@ -227,7 +227,7 @@ const (
 )
 
 const (
-       // filters for ReadDirectoryChangesW
+       // filters for ReadDirectoryChangesW and FindFirstChangeNotificationW
        FILE_NOTIFY_CHANGE_FILE_NAME   = 0x001
        FILE_NOTIFY_CHANGE_DIR_NAME    = 0x002
        FILE_NOTIFY_CHANGE_ATTRIBUTES  = 0x004
@@ -249,24 +249,27 @@ const (
 
 const (
        // wincrypt.h
-       PROV_RSA_FULL                    = 1
-       PROV_RSA_SIG                     = 2
-       PROV_DSS                         = 3
-       PROV_FORTEZZA                    = 4
-       PROV_MS_EXCHANGE                 = 5
-       PROV_SSL                         = 6
-       PROV_RSA_SCHANNEL                = 12
-       PROV_DSS_DH                      = 13
-       PROV_EC_ECDSA_SIG                = 14
-       PROV_EC_ECNRA_SIG                = 15
-       PROV_EC_ECDSA_FULL               = 16
-       PROV_EC_ECNRA_FULL               = 17
-       PROV_DH_SCHANNEL                 = 18
-       PROV_SPYRUS_LYNKS                = 20
-       PROV_RNG                         = 21
-       PROV_INTEL_SEC                   = 22
-       PROV_REPLACE_OWF                 = 23
-       PROV_RSA_AES                     = 24
+       /* certenrolld_begin -- PROV_RSA_*/
+       PROV_RSA_FULL      = 1
+       PROV_RSA_SIG       = 2
+       PROV_DSS           = 3
+       PROV_FORTEZZA      = 4
+       PROV_MS_EXCHANGE   = 5
+       PROV_SSL           = 6
+       PROV_RSA_SCHANNEL  = 12
+       PROV_DSS_DH        = 13
+       PROV_EC_ECDSA_SIG  = 14
+       PROV_EC_ECNRA_SIG  = 15
+       PROV_EC_ECDSA_FULL = 16
+       PROV_EC_ECNRA_FULL = 17
+       PROV_DH_SCHANNEL   = 18
+       PROV_SPYRUS_LYNKS  = 20
+       PROV_RNG           = 21
+       PROV_INTEL_SEC     = 22
+       PROV_REPLACE_OWF   = 23
+       PROV_RSA_AES       = 24
+
+       /* dwFlags definitions for CryptAcquireContext */
        CRYPT_VERIFYCONTEXT              = 0xF0000000
        CRYPT_NEWKEYSET                  = 0x00000008
        CRYPT_DELETEKEYSET               = 0x00000010
@@ -274,6 +277,17 @@ const (
        CRYPT_SILENT                     = 0x00000040
        CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080
 
+       /* Flags for PFXImportCertStore */
+       CRYPT_EXPORTABLE                   = 0x00000001
+       CRYPT_USER_PROTECTED               = 0x00000002
+       CRYPT_USER_KEYSET                  = 0x00001000
+       PKCS12_PREFER_CNG_KSP              = 0x00000100
+       PKCS12_ALWAYS_CNG_KSP              = 0x00000200
+       PKCS12_ALLOW_OVERWRITE_KEY         = 0x00004000
+       PKCS12_NO_PERSIST_KEY              = 0x00008000
+       PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010
+
+       /* Default usage match type is AND with value zero */
        USAGE_MATCH_TYPE_AND = 0
        USAGE_MATCH_TYPE_OR  = 1
 
@@ -409,6 +423,71 @@ const (
        CERT_CHAIN_POLICY_EV                = 8
        CERT_CHAIN_POLICY_SSL_F12           = 9
 
+       /* Certificate Store close flags */
+       CERT_CLOSE_STORE_FORCE_FLAG = 0x00000001
+       CERT_CLOSE_STORE_CHECK_FLAG = 0x00000002
+
+       /* CryptQueryObject object type */
+       CERT_QUERY_OBJECT_FILE = 1
+       CERT_QUERY_OBJECT_BLOB = 2
+
+       /* CryptQueryObject content type flags */
+       CERT_QUERY_CONTENT_CERT                    = 1
+       CERT_QUERY_CONTENT_CTL                     = 2
+       CERT_QUERY_CONTENT_CRL                     = 3
+       CERT_QUERY_CONTENT_SERIALIZED_STORE        = 4
+       CERT_QUERY_CONTENT_SERIALIZED_CERT         = 5
+       CERT_QUERY_CONTENT_SERIALIZED_CTL          = 6
+       CERT_QUERY_CONTENT_SERIALIZED_CRL          = 7
+       CERT_QUERY_CONTENT_PKCS7_SIGNED            = 8
+       CERT_QUERY_CONTENT_PKCS7_UNSIGNED          = 9
+       CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED      = 10
+       CERT_QUERY_CONTENT_PKCS10                  = 11
+       CERT_QUERY_CONTENT_PFX                     = 12
+       CERT_QUERY_CONTENT_CERT_PAIR               = 13
+       CERT_QUERY_CONTENT_PFX_AND_LOAD            = 14
+       CERT_QUERY_CONTENT_FLAG_CERT               = (1 << CERT_QUERY_CONTENT_CERT)
+       CERT_QUERY_CONTENT_FLAG_CTL                = (1 << CERT_QUERY_CONTENT_CTL)
+       CERT_QUERY_CONTENT_FLAG_CRL                = (1 << CERT_QUERY_CONTENT_CRL)
+       CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE   = (1 << CERT_QUERY_CONTENT_SERIALIZED_STORE)
+       CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT    = (1 << CERT_QUERY_CONTENT_SERIALIZED_CERT)
+       CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL     = (1 << CERT_QUERY_CONTENT_SERIALIZED_CTL)
+       CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL     = (1 << CERT_QUERY_CONTENT_SERIALIZED_CRL)
+       CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED       = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED)
+       CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED     = (1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED)
+       CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED)
+       CERT_QUERY_CONTENT_FLAG_PKCS10             = (1 << CERT_QUERY_CONTENT_PKCS10)
+       CERT_QUERY_CONTENT_FLAG_PFX                = (1 << CERT_QUERY_CONTENT_PFX)
+       CERT_QUERY_CONTENT_FLAG_CERT_PAIR          = (1 << CERT_QUERY_CONTENT_CERT_PAIR)
+       CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD       = (1 << CERT_QUERY_CONTENT_PFX_AND_LOAD)
+       CERT_QUERY_CONTENT_FLAG_ALL                = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR)
+       CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT    = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED)
+
+       /* CryptQueryObject format type flags */
+       CERT_QUERY_FORMAT_BINARY                     = 1
+       CERT_QUERY_FORMAT_BASE64_ENCODED             = 2
+       CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED      = 3
+       CERT_QUERY_FORMAT_FLAG_BINARY                = (1 << CERT_QUERY_FORMAT_BINARY)
+       CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED        = (1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
+       CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED = (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)
+       CERT_QUERY_FORMAT_FLAG_ALL                   = (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED)
+
+       /* CertGetNameString name types */
+       CERT_NAME_EMAIL_TYPE            = 1
+       CERT_NAME_RDN_TYPE              = 2
+       CERT_NAME_ATTR_TYPE             = 3
+       CERT_NAME_SIMPLE_DISPLAY_TYPE   = 4
+       CERT_NAME_FRIENDLY_DISPLAY_TYPE = 5
+       CERT_NAME_DNS_TYPE              = 6
+       CERT_NAME_URL_TYPE              = 7
+       CERT_NAME_UPN_TYPE              = 8
+
+       /* CertGetNameString flags */
+       CERT_NAME_ISSUER_FLAG              = 0x1
+       CERT_NAME_DISABLE_IE4_UTF8_FLAG    = 0x10000
+       CERT_NAME_SEARCH_ALL_NAMES_FLAG    = 0x2
+       CERT_NAME_STR_ENABLE_PUNYCODE_FLAG = 0x00200000
+
        /* AuthType values for SSLExtraCertChainPolicyPara struct */
        AUTHTYPE_CLIENT = 1
        AUTHTYPE_SERVER = 2
@@ -419,6 +498,22 @@ const (
        SECURITY_FLAG_IGNORE_WRONG_USAGE       = 0x00000200
        SECURITY_FLAG_IGNORE_CERT_CN_INVALID   = 0x00001000
        SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000
+
+       /* Flags for Crypt[Un]ProtectData */
+       CRYPTPROTECT_UI_FORBIDDEN      = 0x1
+       CRYPTPROTECT_LOCAL_MACHINE     = 0x4
+       CRYPTPROTECT_CRED_SYNC         = 0x8
+       CRYPTPROTECT_AUDIT             = 0x10
+       CRYPTPROTECT_NO_RECOVERY       = 0x20
+       CRYPTPROTECT_VERIFY_PROTECTION = 0x40
+       CRYPTPROTECT_CRED_REGENERATE   = 0x80
+
+       /* Flags for CryptProtectPromptStruct */
+       CRYPTPROTECT_PROMPT_ON_UNPROTECT   = 1
+       CRYPTPROTECT_PROMPT_ON_PROTECT     = 2
+       CRYPTPROTECT_PROMPT_RESERVED       = 4
+       CRYPTPROTECT_PROMPT_STRONG         = 8
+       CRYPTPROTECT_PROMPT_REQUIRE_STRONG = 16
 )
 
 const (
@@ -441,10 +536,58 @@ const (
        REALTIME_PRIORITY_CLASS       = 0x00000100
 )
 
+/* wintrust.h constants for WinVerifyTrustEx */
+const (
+       WTD_UI_ALL    = 1
+       WTD_UI_NONE   = 2
+       WTD_UI_NOBAD  = 3
+       WTD_UI_NOGOOD = 4
+
+       WTD_REVOKE_NONE       = 0
+       WTD_REVOKE_WHOLECHAIN = 1
+
+       WTD_CHOICE_FILE    = 1
+       WTD_CHOICE_CATALOG = 2
+       WTD_CHOICE_BLOB    = 3
+       WTD_CHOICE_SIGNER  = 4
+       WTD_CHOICE_CERT    = 5
+
+       WTD_STATEACTION_IGNORE           = 0x00000000
+       WTD_STATEACTION_VERIFY           = 0x00000010
+       WTD_STATEACTION_CLOSE            = 0x00000002
+       WTD_STATEACTION_AUTO_CACHE       = 0x00000003
+       WTD_STATEACTION_AUTO_CACHE_FLUSH = 0x00000004
+
+       WTD_USE_IE4_TRUST_FLAG                  = 0x1
+       WTD_NO_IE4_CHAIN_FLAG                   = 0x2
+       WTD_NO_POLICY_USAGE_FLAG                = 0x4
+       WTD_REVOCATION_CHECK_NONE               = 0x10
+       WTD_REVOCATION_CHECK_END_CERT           = 0x20
+       WTD_REVOCATION_CHECK_CHAIN              = 0x40
+       WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x80
+       WTD_SAFER_FLAG                          = 0x100
+       WTD_HASH_ONLY_FLAG                      = 0x200
+       WTD_USE_DEFAULT_OSVER_CHECK             = 0x400
+       WTD_LIFETIME_SIGNING_FLAG               = 0x800
+       WTD_CACHE_ONLY_URL_RETRIEVAL            = 0x1000
+       WTD_DISABLE_MD2_MD4                     = 0x2000
+       WTD_MOTW                                = 0x4000
+
+       WTD_UICONTEXT_EXECUTE = 0
+       WTD_UICONTEXT_INSTALL = 1
+)
+
 var (
        OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00")
        OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00")
        OID_SGC_NETSCAPE        = []byte("2.16.840.1.113730.4.1\x00")
+
+       WINTRUST_ACTION_GENERIC_VERIFY_V2 = GUID{
+               Data1: 0xaac56b,
+               Data2: 0xcd44,
+               Data3: 0x11d0,
+               Data4: [8]byte{0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee},
+       }
 )
 
 // Pointer represents a pointer to an arbitrary Windows type.
@@ -1033,7 +1176,57 @@ type MibIfRow struct {
 }
 
 type CertInfo struct {
-       // Not implemented
+       Version              uint32
+       SerialNumber         CryptIntegerBlob
+       SignatureAlgorithm   CryptAlgorithmIdentifier
+       Issuer               CertNameBlob
+       NotBefore            Filetime
+       NotAfter             Filetime
+       Subject              CertNameBlob
+       SubjectPublicKeyInfo CertPublicKeyInfo
+       IssuerUniqueId       CryptBitBlob
+       SubjectUniqueId      CryptBitBlob
+       CountExtensions      uint32
+       Extensions           *CertExtension
+}
+
+type CertExtension struct {
+       ObjId    *byte
+       Critical int32
+       Value    CryptObjidBlob
+}
+
+type CryptAlgorithmIdentifier struct {
+       ObjId      *byte
+       Parameters CryptObjidBlob
+}
+
+type CertPublicKeyInfo struct {
+       Algorithm CryptAlgorithmIdentifier
+       PublicKey CryptBitBlob
+}
+
+type DataBlob struct {
+       Size uint32
+       Data *byte
+}
+type CryptIntegerBlob DataBlob
+type CryptUintBlob DataBlob
+type CryptObjidBlob DataBlob
+type CertNameBlob DataBlob
+type CertRdnValueBlob DataBlob
+type CertBlob DataBlob
+type CrlBlob DataBlob
+type CryptDataBlob DataBlob
+type CryptHashBlob DataBlob
+type CryptDigestBlob DataBlob
+type CryptDerBlob DataBlob
+type CryptAttrBlob DataBlob
+
+type CryptBitBlob struct {
+       Size       uint32
+       Data       *byte
+       UnusedBits uint32
 }
 
 type CertContext struct {
@@ -1139,6 +1332,66 @@ type CertChainPolicyStatus struct {
        ExtraPolicyStatus Pointer
 }
 
+type CertPolicyInfo struct {
+       Identifier      *byte
+       CountQualifiers uint32
+       Qualifiers      *CertPolicyQualifierInfo
+}
+
+type CertPoliciesInfo struct {
+       Count       uint32
+       PolicyInfos *CertPolicyInfo
+}
+
+type CertPolicyQualifierInfo struct {
+       // Not implemented
+}
+
+type CertStrongSignPara struct {
+       Size                      uint32
+       InfoChoice                uint32
+       InfoOrSerializedInfoOrOID unsafe.Pointer
+}
+
+type CryptProtectPromptStruct struct {
+       Size        uint32
+       PromptFlags uint32
+       App         HWND
+       Prompt      *uint16
+}
+
+type WinTrustData struct {
+       Size                            uint32
+       PolicyCallbackData              uintptr
+       SIPClientData                   uintptr
+       UIChoice                        uint32
+       RevocationChecks                uint32
+       UnionChoice                     uint32
+       FileOrCatalogOrBlobOrSgnrOrCert unsafe.Pointer
+       StateAction                     uint32
+       StateData                       Handle
+       URLReference                    *uint16
+       ProvFlags                       uint32
+       UIContext                       uint32
+       SignatureSettings               *WinTrustSignatureSettings
+}
+
+type WinTrustFileInfo struct {
+       Size         uint32
+       FilePath     *uint16
+       File         Handle
+       KnownSubject *GUID
+}
+
+type WinTrustSignatureSettings struct {
+       Size             uint32
+       Index            uint32
+       Flags            uint32
+       SecondarySigs    uint32
+       VerifiedSigIndex uint32
+       CryptoPolicy     *CertStrongSignPara
+}
+
 const (
        // do not reorder
        HKEY_CLASSES_ROOT = 0x80000000 + iota
@@ -1820,3 +2073,21 @@ const (
        LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER = 0x00004000
        LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY      = 0x00008000
 )
+
+// RegNotifyChangeKeyValue notifyFilter flags.
+const (
+       // REG_NOTIFY_CHANGE_NAME notifies the caller if a subkey is added or deleted.
+       REG_NOTIFY_CHANGE_NAME = 0x00000001
+
+       // REG_NOTIFY_CHANGE_ATTRIBUTES notifies the caller of changes to the attributes of the key, such as the security descriptor information.
+       REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002
+
+       // REG_NOTIFY_CHANGE_LAST_SET notifies the caller of changes to a value of the key. This can include adding or deleting a value, or changing an existing value.
+       REG_NOTIFY_CHANGE_LAST_SET = 0x00000004
+
+       // REG_NOTIFY_CHANGE_SECURITY notifies the caller of changes to the security descriptor of the key.
+       REG_NOTIFY_CHANGE_SECURITY = 0x00000008
+
+       // REG_NOTIFY_THREAD_AGNOSTIC indicates that the lifetime of the registration must not be tied to the lifetime of the thread issuing the RegNotifyChangeKeyValue call. Note: This flag value is only supported in Windows 8 and later.
+       REG_NOTIFY_THREAD_AGNOSTIC = 0x10000000
+)
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/types_windows_arm64.go b/src/cmd/vendor/golang.org/x/sys/windows/types_windows_arm64.go
new file mode 100644 (file)
index 0000000..fdddc0c
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package windows
+
+type WSAData struct {
+       Version      uint16
+       HighVersion  uint16
+       MaxSockets   uint16
+       MaxUdpDg     uint16
+       VendorInfo   *byte
+       Description  [WSADESCRIPTION_LEN + 1]byte
+       SystemStatus [WSASYS_STATUS_LEN + 1]byte
+}
+
+type Servent struct {
+       Name    *byte
+       Aliases **byte
+       Proto   *byte
+       Port    uint16
+}
+
+type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
+       PerProcessUserTimeLimit int64
+       PerJobUserTimeLimit     int64
+       LimitFlags              uint32
+       MinimumWorkingSetSize   uintptr
+       MaximumWorkingSetSize   uintptr
+       ActiveProcessLimit      uint32
+       Affinity                uintptr
+       PriorityClass           uint32
+       SchedulingClass         uint32
+}
index a933c0ee378b538c81ace98916c476344d2b7963..c38c59d772c4258ab42f9fcbac2cee0f08ca3f68 100644 (file)
@@ -51,6 +51,7 @@ var (
        modshell32  = NewLazySystemDLL("shell32.dll")
        moduser32   = NewLazySystemDLL("user32.dll")
        moduserenv  = NewLazySystemDLL("userenv.dll")
+       modwintrust = NewLazySystemDLL("wintrust.dll")
        modws2_32   = NewLazySystemDLL("ws2_32.dll")
        modwtsapi32 = NewLazySystemDLL("wtsapi32.dll")
 
@@ -117,6 +118,7 @@ var (
        procQueryServiceStatusEx                                 = modadvapi32.NewProc("QueryServiceStatusEx")
        procRegCloseKey                                          = modadvapi32.NewProc("RegCloseKey")
        procRegEnumKeyExW                                        = modadvapi32.NewProc("RegEnumKeyExW")
+       procRegNotifyChangeKeyValue                              = modadvapi32.NewProc("RegNotifyChangeKeyValue")
        procRegOpenKeyExW                                        = modadvapi32.NewProc("RegOpenKeyExW")
        procRegQueryInfoKeyW                                     = modadvapi32.NewProc("RegQueryInfoKeyW")
        procRegQueryValueExW                                     = modadvapi32.NewProc("RegQueryValueExW")
@@ -142,13 +144,21 @@ var (
        procCertCloseStore                                       = modcrypt32.NewProc("CertCloseStore")
        procCertCreateCertificateContext                         = modcrypt32.NewProc("CertCreateCertificateContext")
        procCertDeleteCertificateFromStore                       = modcrypt32.NewProc("CertDeleteCertificateFromStore")
+       procCertDuplicateCertificateContext                      = modcrypt32.NewProc("CertDuplicateCertificateContext")
        procCertEnumCertificatesInStore                          = modcrypt32.NewProc("CertEnumCertificatesInStore")
+       procCertFindExtension                                    = modcrypt32.NewProc("CertFindExtension")
        procCertFreeCertificateChain                             = modcrypt32.NewProc("CertFreeCertificateChain")
        procCertFreeCertificateContext                           = modcrypt32.NewProc("CertFreeCertificateContext")
        procCertGetCertificateChain                              = modcrypt32.NewProc("CertGetCertificateChain")
+       procCertGetNameStringW                                   = modcrypt32.NewProc("CertGetNameStringW")
        procCertOpenStore                                        = modcrypt32.NewProc("CertOpenStore")
        procCertOpenSystemStoreW                                 = modcrypt32.NewProc("CertOpenSystemStoreW")
        procCertVerifyCertificateChainPolicy                     = modcrypt32.NewProc("CertVerifyCertificateChainPolicy")
+       procCryptDecodeObject                                    = modcrypt32.NewProc("CryptDecodeObject")
+       procCryptProtectData                                     = modcrypt32.NewProc("CryptProtectData")
+       procCryptQueryObject                                     = modcrypt32.NewProc("CryptQueryObject")
+       procCryptUnprotectData                                   = modcrypt32.NewProc("CryptUnprotectData")
+       procPFXImportCertStore                                   = modcrypt32.NewProc("PFXImportCertStore")
        procDnsNameCompare_W                                     = moddnsapi.NewProc("DnsNameCompare_W")
        procDnsQuery_W                                           = moddnsapi.NewProc("DnsQuery_W")
        procDnsRecordListFree                                    = moddnsapi.NewProc("DnsRecordListFree")
@@ -180,9 +190,12 @@ var (
        procDuplicateHandle                                      = modkernel32.NewProc("DuplicateHandle")
        procExitProcess                                          = modkernel32.NewProc("ExitProcess")
        procFindClose                                            = modkernel32.NewProc("FindClose")
+       procFindCloseChangeNotification                          = modkernel32.NewProc("FindCloseChangeNotification")
+       procFindFirstChangeNotificationW                         = modkernel32.NewProc("FindFirstChangeNotificationW")
        procFindFirstFileW                                       = modkernel32.NewProc("FindFirstFileW")
        procFindFirstVolumeMountPointW                           = modkernel32.NewProc("FindFirstVolumeMountPointW")
        procFindFirstVolumeW                                     = modkernel32.NewProc("FindFirstVolumeW")
+       procFindNextChangeNotification                           = modkernel32.NewProc("FindNextChangeNotification")
        procFindNextFileW                                        = modkernel32.NewProc("FindNextFileW")
        procFindNextVolumeMountPointW                            = modkernel32.NewProc("FindNextVolumeMountPointW")
        procFindNextVolumeW                                      = modkernel32.NewProc("FindNextVolumeW")
@@ -338,10 +351,13 @@ var (
        procSHGetKnownFolderPath                                 = modshell32.NewProc("SHGetKnownFolderPath")
        procShellExecuteW                                        = modshell32.NewProc("ShellExecuteW")
        procExitWindowsEx                                        = moduser32.NewProc("ExitWindowsEx")
+       procGetShellWindow                                       = moduser32.NewProc("GetShellWindow")
+       procGetWindowThreadProcessId                             = moduser32.NewProc("GetWindowThreadProcessId")
        procMessageBoxW                                          = moduser32.NewProc("MessageBoxW")
        procCreateEnvironmentBlock                               = moduserenv.NewProc("CreateEnvironmentBlock")
        procDestroyEnvironmentBlock                              = moduserenv.NewProc("DestroyEnvironmentBlock")
        procGetUserProfileDirectoryW                             = moduserenv.NewProc("GetUserProfileDirectoryW")
+       procWinVerifyTrustEx                                     = modwintrust.NewProc("WinVerifyTrustEx")
        procFreeAddrInfoW                                        = modws2_32.NewProc("FreeAddrInfoW")
        procGetAddrInfoW                                         = modws2_32.NewProc("GetAddrInfoW")
        procWSACleanup                                           = modws2_32.NewProc("WSACleanup")
@@ -931,6 +947,22 @@ func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reser
        return
 }
 
+func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) {
+       var _p0 uint32
+       if watchSubtree {
+               _p0 = 1
+       }
+       var _p1 uint32
+       if asynchronous {
+               _p1 = 1
+       }
+       r0, _, _ := syscall.Syscall6(procRegNotifyChangeKeyValue.Addr(), 5, uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1), 0)
+       if r0 != 0 {
+               regerrno = syscall.Errno(r0)
+       }
+       return
+}
+
 func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) {
        r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0)
        if r0 != 0 {
@@ -1163,6 +1195,12 @@ func CertDeleteCertificateFromStore(certContext *CertContext) (err error) {
        return
 }
 
+func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) {
+       r0, _, _ := syscall.Syscall(procCertDuplicateCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0)
+       dupContext = (*CertContext)(unsafe.Pointer(r0))
+       return
+}
+
 func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) {
        r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0)
        context = (*CertContext)(unsafe.Pointer(r0))
@@ -1172,6 +1210,12 @@ func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (contex
        return
 }
 
+func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) {
+       r0, _, _ := syscall.Syscall(procCertFindExtension.Addr(), 3, uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions)))
+       ret = (*CertExtension)(unsafe.Pointer(r0))
+       return
+}
+
 func CertFreeCertificateChain(ctx *CertChainContext) {
        syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0)
        return
@@ -1193,6 +1237,12 @@ func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, a
        return
 }
 
+func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) {
+       r0, _, _ := syscall.Syscall6(procCertGetNameStringW.Addr(), 6, uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size))
+       chars = uint32(r0)
+       return
+}
+
 func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0)
        handle = Handle(r0)
@@ -1219,6 +1269,47 @@ func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext
        return
 }
 
+func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) {
+       r1, _, e1 := syscall.Syscall9(procCryptDecodeObject.Addr(), 7, uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) {
+       r1, _, e1 := syscall.Syscall9(procCryptProtectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) {
+       r1, _, e1 := syscall.Syscall12(procCryptQueryObject.Addr(), 11, uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context)), 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) {
+       r1, _, e1 := syscall.Syscall9(procCryptUnprotectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) {
+       r0, _, e1 := syscall.Syscall(procPFXImportCertStore.Addr(), 3, uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags))
+       store = Handle(r0)
+       if store == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) {
        r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0)
        same = r0 != 0
@@ -1489,6 +1580,36 @@ func FindClose(handle Handle) (err error) {
        return
 }
 
+func FindCloseChangeNotification(handle Handle) (err error) {
+       r1, _, e1 := syscall.Syscall(procFindCloseChangeNotification.Addr(), 1, uintptr(handle), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) {
+       var _p0 *uint16
+       _p0, err = syscall.UTF16PtrFromString(path)
+       if err != nil {
+               return
+       }
+       return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter)
+}
+
+func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) {
+       var _p1 uint32
+       if watchSubtree {
+               _p1 = 1
+       }
+       r0, _, e1 := syscall.Syscall(procFindFirstChangeNotificationW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter))
+       handle = Handle(r0)
+       if handle == InvalidHandle {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) {
        r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0)
        handle = Handle(r0)
@@ -1516,6 +1637,14 @@ func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, er
        return
 }
 
+func FindNextChangeNotification(handle Handle) (err error) {
+       r1, _, e1 := syscall.Syscall(procFindNextChangeNotification.Addr(), 1, uintptr(handle), 0, 0)
+       if r1 == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
 func findNextFile1(handle Handle, data *win32finddata1) (err error) {
        r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0)
        if r1 == 0 {
@@ -2862,7 +2991,22 @@ func ExitWindowsEx(flags uint32, reason uint32) (err error) {
        return
 }
 
-func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) {
+func GetShellWindow() (shellWindow HWND) {
+       r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0)
+       shellWindow = HWND(r0)
+       return
+}
+
+func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) {
+       r0, _, e1 := syscall.Syscall(procGetWindowThreadProcessId.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(pid)), 0)
+       tid = uint32(r0)
+       if tid == 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) {
        r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0)
        ret = int32(r0)
        if ret == 0 {
@@ -2899,6 +3043,14 @@ func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) {
        return
 }
 
+func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) {
+       r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data)))
+       if r0 != 0 {
+               ret = syscall.Errno(r0)
+       }
+       return
+}
+
 func FreeAddrInfoW(addrinfo *AddrinfoW) {
        syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0)
        return
index e033984956bbc87667807daf5d22979ec8519e40..616fb6c1e6065d4d213402711b151dc3bb66b7ce 100644 (file)
@@ -39,7 +39,7 @@ golang.org/x/mod/sumdb/dirhash
 golang.org/x/mod/sumdb/note
 golang.org/x/mod/sumdb/tlog
 golang.org/x/mod/zip
-# golang.org/x/sys v0.0.0-20201204225414-ed752295db88
+# golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e
 ## explicit
 golang.org/x/sys/internal/unsafeheader
 golang.org/x/sys/unix
index 4ae14eea5cb48a5a203a481697f19f072da5584d..999dc96787965068b68aec2e26d63add614a72f8 100644 (file)
@@ -5,6 +5,6 @@ go 1.16
 require (
        golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
        golang.org/x/net v0.0.0-20201209123823-ac852fbbde11
-       golang.org/x/sys v0.0.0-20201204225414-ed752295db88 // indirect
+       golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e // indirect
        golang.org/x/text v0.3.4 // indirect
 )
index 5586aa9a4e5cea640a72d7c2e2ff09157d35b7da..6dd5f4eafdb54e372223d03b9990e53e140ef74d 100644 (file)
@@ -7,8 +7,8 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201204225414-ed752295db88 h1:KmZPnMocC93w341XZp26yTJg8Za7lhb2KhkYmixoeso=
-golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e h1:f5mksnk+hgXHnImpZoWj64ja99j9zV7YUgrVG95uFE4=
+golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
index 04bb67e58d6d7a04c81af639bcb932df7455b5bb..06e6ef1945c160910042cc420ae4591e43751004 100644 (file)
@@ -18,7 +18,7 @@ golang.org/x/net/idna
 golang.org/x/net/lif
 golang.org/x/net/nettest
 golang.org/x/net/route
-# golang.org/x/sys v0.0.0-20201204225414-ed752295db88
+# golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e
 ## explicit
 golang.org/x/sys/cpu
 # golang.org/x/text v0.3.4