mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 18:13:42 +08:00 
			
		
		
		
	Bump docker/docker and containerd/console
Signed-off-by: ulyssessouza <ulyssessouza@gmail.com>
This commit is contained in:
		
							
								
								
									
										17
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
// Copyright 2018 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build !gccgo
 | 
			
		||||
 | 
			
		||||
#include "textflag.h"
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
TEXT ·syscall6(SB),NOSPLIT,$0-88
 | 
			
		||||
	JMP	syscall·syscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
 | 
			
		||||
	JMP	syscall·rawSyscall6(SB)
 | 
			
		||||
							
								
								
									
										38
									
								
								vendor/golang.org/x/sys/cpu/byteorder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								vendor/golang.org/x/sys/cpu/byteorder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -5,26 +5,56 @@
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"runtime"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// byteOrder is a subset of encoding/binary.ByteOrder.
 | 
			
		||||
type byteOrder interface {
 | 
			
		||||
	Uint32([]byte) uint32
 | 
			
		||||
	Uint64([]byte) uint64
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type littleEndian struct{}
 | 
			
		||||
type bigEndian struct{}
 | 
			
		||||
 | 
			
		||||
func (littleEndian) Uint32(b []byte) uint32 {
 | 
			
		||||
	_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
	return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (littleEndian) Uint64(b []byte) uint64 {
 | 
			
		||||
	_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
	return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |
 | 
			
		||||
		uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (bigEndian) Uint32(b []byte) uint32 {
 | 
			
		||||
	_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
	return uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (bigEndian) Uint64(b []byte) uint64 {
 | 
			
		||||
	_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
	return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
 | 
			
		||||
		uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// hostByteOrder returns binary.LittleEndian on little-endian machines and
 | 
			
		||||
// binary.BigEndian on big-endian machines.
 | 
			
		||||
func hostByteOrder() binary.ByteOrder {
 | 
			
		||||
func hostByteOrder() byteOrder {
 | 
			
		||||
	switch runtime.GOARCH {
 | 
			
		||||
	case "386", "amd64", "amd64p32",
 | 
			
		||||
		"arm", "arm64",
 | 
			
		||||
		"mipsle", "mips64le", "mips64p32le",
 | 
			
		||||
		"ppc64le",
 | 
			
		||||
		"riscv", "riscv64":
 | 
			
		||||
		return binary.LittleEndian
 | 
			
		||||
		return littleEndian{}
 | 
			
		||||
	case "armbe", "arm64be",
 | 
			
		||||
		"mips", "mips64", "mips64p32",
 | 
			
		||||
		"ppc", "ppc64",
 | 
			
		||||
		"s390", "s390x",
 | 
			
		||||
		"sparc", "sparc64":
 | 
			
		||||
		return binary.BigEndian
 | 
			
		||||
		return bigEndian{}
 | 
			
		||||
	}
 | 
			
		||||
	panic("unknown architecture")
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								vendor/golang.org/x/sys/cpu/cpu.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/golang.org/x/sys/cpu/cpu.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -78,6 +78,42 @@ var ARM64 struct {
 | 
			
		||||
	_           CacheLinePad
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ARM contains the supported CPU features of the current ARM (32-bit) platform.
 | 
			
		||||
// All feature flags are false if:
 | 
			
		||||
//   1. the current platform is not arm, or
 | 
			
		||||
//   2. the current operating system is not Linux.
 | 
			
		||||
var ARM struct {
 | 
			
		||||
	_           CacheLinePad
 | 
			
		||||
	HasSWP      bool // SWP instruction support
 | 
			
		||||
	HasHALF     bool // Half-word load and store support
 | 
			
		||||
	HasTHUMB    bool // ARM Thumb instruction set
 | 
			
		||||
	Has26BIT    bool // Address space limited to 26-bits
 | 
			
		||||
	HasFASTMUL  bool // 32-bit operand, 64-bit result multiplication support
 | 
			
		||||
	HasFPA      bool // Floating point arithmetic support
 | 
			
		||||
	HasVFP      bool // Vector floating point support
 | 
			
		||||
	HasEDSP     bool // DSP Extensions support
 | 
			
		||||
	HasJAVA     bool // Java instruction set
 | 
			
		||||
	HasIWMMXT   bool // Intel Wireless MMX technology support
 | 
			
		||||
	HasCRUNCH   bool // MaverickCrunch context switching and handling
 | 
			
		||||
	HasTHUMBEE  bool // Thumb EE instruction set
 | 
			
		||||
	HasNEON     bool // NEON instruction set
 | 
			
		||||
	HasVFPv3    bool // Vector floating point version 3 support
 | 
			
		||||
	HasVFPv3D16 bool // Vector floating point version 3 D8-D15
 | 
			
		||||
	HasTLS      bool // Thread local storage support
 | 
			
		||||
	HasVFPv4    bool // Vector floating point version 4 support
 | 
			
		||||
	HasIDIVA    bool // Integer divide instruction support in ARM mode
 | 
			
		||||
	HasIDIVT    bool // Integer divide instruction support in Thumb mode
 | 
			
		||||
	HasVFPD32   bool // Vector floating point version 3 D15-D31
 | 
			
		||||
	HasLPAE     bool // Large Physical Address Extensions
 | 
			
		||||
	HasEVTSTRM  bool // Event stream support
 | 
			
		||||
	HasAES      bool // AES hardware implementation
 | 
			
		||||
	HasPMULL    bool // Polynomial multiplication instruction set
 | 
			
		||||
	HasSHA1     bool // SHA1 hardware implementation
 | 
			
		||||
	HasSHA2     bool // SHA2 hardware implementation
 | 
			
		||||
	HasCRC32    bool // CRC32 hardware implementation
 | 
			
		||||
	_           CacheLinePad
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PPC64 contains the supported CPU features of the current ppc64/ppc64le platforms.
 | 
			
		||||
// If the current platform is not ppc64/ppc64le then all feature flags are false.
 | 
			
		||||
//
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								vendor/golang.org/x/sys/cpu/cpu_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/golang.org/x/sys/cpu/cpu_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,8 +6,6 @@
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
import "golang.org/x/sys/unix"
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 128
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
@@ -18,7 +16,7 @@ const (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	impl := unix.Getsystemcfg(_SC_IMPL)
 | 
			
		||||
	impl := getsystemcfg(_SC_IMPL)
 | 
			
		||||
	if impl&_IMPL_POWER8 != 0 {
 | 
			
		||||
		PPC64.IsPOWER8 = true
 | 
			
		||||
	}
 | 
			
		||||
@@ -28,3 +26,9 @@ func init() {
 | 
			
		||||
 | 
			
		||||
	Initialized = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getsystemcfg(label int) (n uint64) {
 | 
			
		||||
	r0, _ := callgetsystemcfg(label)
 | 
			
		||||
	n = uint64(r0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,4 +6,35 @@ package cpu
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 32
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
// HWCAP/HWCAP2 bits.
 | 
			
		||||
// These are specific to Linux.
 | 
			
		||||
const (
 | 
			
		||||
	hwcap_SWP       = 1 << 0
 | 
			
		||||
	hwcap_HALF      = 1 << 1
 | 
			
		||||
	hwcap_THUMB     = 1 << 2
 | 
			
		||||
	hwcap_26BIT     = 1 << 3
 | 
			
		||||
	hwcap_FAST_MULT = 1 << 4
 | 
			
		||||
	hwcap_FPA       = 1 << 5
 | 
			
		||||
	hwcap_VFP       = 1 << 6
 | 
			
		||||
	hwcap_EDSP      = 1 << 7
 | 
			
		||||
	hwcap_JAVA      = 1 << 8
 | 
			
		||||
	hwcap_IWMMXT    = 1 << 9
 | 
			
		||||
	hwcap_CRUNCH    = 1 << 10
 | 
			
		||||
	hwcap_THUMBEE   = 1 << 11
 | 
			
		||||
	hwcap_NEON      = 1 << 12
 | 
			
		||||
	hwcap_VFPv3     = 1 << 13
 | 
			
		||||
	hwcap_VFPv3D16  = 1 << 14
 | 
			
		||||
	hwcap_TLS       = 1 << 15
 | 
			
		||||
	hwcap_VFPv4     = 1 << 16
 | 
			
		||||
	hwcap_IDIVA     = 1 << 17
 | 
			
		||||
	hwcap_IDIVT     = 1 << 18
 | 
			
		||||
	hwcap_VFPD32    = 1 << 19
 | 
			
		||||
	hwcap_LPAE      = 1 << 20
 | 
			
		||||
	hwcap_EVTSTRM   = 1 << 21
 | 
			
		||||
 | 
			
		||||
	hwcap2_AES   = 1 << 0
 | 
			
		||||
	hwcap2_PMULL = 1 << 1
 | 
			
		||||
	hwcap2_SHA1  = 1 << 2
 | 
			
		||||
	hwcap2_SHA2  = 1 << 3
 | 
			
		||||
	hwcap2_CRC32 = 1 << 4
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
//+build !amd64,!amd64p32,!386
 | 
			
		||||
// +build !amd64,!amd64p32,!386
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
func doinit() {
 | 
			
		||||
	ARM.HasSWP = isSet(hwCap, hwcap_SWP)
 | 
			
		||||
	ARM.HasHALF = isSet(hwCap, hwcap_HALF)
 | 
			
		||||
	ARM.HasTHUMB = isSet(hwCap, hwcap_THUMB)
 | 
			
		||||
	ARM.Has26BIT = isSet(hwCap, hwcap_26BIT)
 | 
			
		||||
	ARM.HasFASTMUL = isSet(hwCap, hwcap_FAST_MULT)
 | 
			
		||||
	ARM.HasFPA = isSet(hwCap, hwcap_FPA)
 | 
			
		||||
	ARM.HasVFP = isSet(hwCap, hwcap_VFP)
 | 
			
		||||
	ARM.HasEDSP = isSet(hwCap, hwcap_EDSP)
 | 
			
		||||
	ARM.HasJAVA = isSet(hwCap, hwcap_JAVA)
 | 
			
		||||
	ARM.HasIWMMXT = isSet(hwCap, hwcap_IWMMXT)
 | 
			
		||||
	ARM.HasCRUNCH = isSet(hwCap, hwcap_CRUNCH)
 | 
			
		||||
	ARM.HasTHUMBEE = isSet(hwCap, hwcap_THUMBEE)
 | 
			
		||||
	ARM.HasNEON = isSet(hwCap, hwcap_NEON)
 | 
			
		||||
	ARM.HasVFPv3 = isSet(hwCap, hwcap_VFPv3)
 | 
			
		||||
	ARM.HasVFPv3D16 = isSet(hwCap, hwcap_VFPv3D16)
 | 
			
		||||
	ARM.HasTLS = isSet(hwCap, hwcap_TLS)
 | 
			
		||||
	ARM.HasVFPv4 = isSet(hwCap, hwcap_VFPv4)
 | 
			
		||||
	ARM.HasIDIVA = isSet(hwCap, hwcap_IDIVA)
 | 
			
		||||
	ARM.HasIDIVT = isSet(hwCap, hwcap_IDIVT)
 | 
			
		||||
	ARM.HasVFPD32 = isSet(hwCap, hwcap_VFPD32)
 | 
			
		||||
	ARM.HasLPAE = isSet(hwCap, hwcap_LPAE)
 | 
			
		||||
	ARM.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM)
 | 
			
		||||
	ARM.HasAES = isSet(hwCap2, hwcap2_AES)
 | 
			
		||||
	ARM.HasPMULL = isSet(hwCap2, hwcap2_PMULL)
 | 
			
		||||
	ARM.HasSHA1 = isSet(hwCap2, hwcap2_SHA1)
 | 
			
		||||
	ARM.HasSHA2 = isSet(hwCap2, hwcap2_SHA2)
 | 
			
		||||
	ARM.HasCRC32 = isSet(hwCap2, hwcap2_CRC32)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func isSet(hwc uint, value uint) bool {
 | 
			
		||||
	return hwc&value != 0
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build linux,!arm,!arm64,!ppc64,!ppc64le,!s390x
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,5 +7,3 @@
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 32
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_mipsx.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_mipsx.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,5 +7,3 @@
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 32
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,5 +7,3 @@
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 64
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								vendor/golang.org/x/sys/cpu/cpu_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/golang.org/x/sys/cpu/cpu_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build riscv64
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 32
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_wasm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_wasm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -11,5 +11,3 @@ package cpu
 | 
			
		||||
// rules are good enough.
 | 
			
		||||
 | 
			
		||||
const cacheLineSize = 0
 | 
			
		||||
 | 
			
		||||
func doinit() {}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// Minimal copy of x/sys/unix so the cpu package can make a
 | 
			
		||||
// system call on AIX without depending on x/sys/unix.
 | 
			
		||||
// (See golang.org/issue/32102)
 | 
			
		||||
 | 
			
		||||
// +build aix,ppc64
 | 
			
		||||
// +build !gccgo
 | 
			
		||||
 | 
			
		||||
package cpu
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
 | 
			
		||||
 | 
			
		||||
//go:linkname libc_getsystemcfg libc_getsystemcfg
 | 
			
		||||
 | 
			
		||||
type syscallFunc uintptr
 | 
			
		||||
 | 
			
		||||
var libc_getsystemcfg syscallFunc
 | 
			
		||||
 | 
			
		||||
type errno = syscall.Errno
 | 
			
		||||
 | 
			
		||||
// Implemented in runtime/syscall_aix.go.
 | 
			
		||||
func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err errno)
 | 
			
		||||
func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err errno)
 | 
			
		||||
 | 
			
		||||
func callgetsystemcfg(label int) (r1 uintptr, e1 errno) {
 | 
			
		||||
	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0)
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								vendor/golang.org/x/sys/unix/affinity_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/golang.org/x/sys/unix/affinity_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,6 +7,7 @@
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"math/bits"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -79,46 +80,7 @@ func (s *CPUSet) IsSet(cpu int) bool {
 | 
			
		||||
func (s *CPUSet) Count() int {
 | 
			
		||||
	c := 0
 | 
			
		||||
	for _, b := range s {
 | 
			
		||||
		c += onesCount64(uint64(b))
 | 
			
		||||
		c += bits.OnesCount64(uint64(b))
 | 
			
		||||
	}
 | 
			
		||||
	return c
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// onesCount64 is a copy of Go 1.9's math/bits.OnesCount64.
 | 
			
		||||
// Once this package can require Go 1.9, we can delete this
 | 
			
		||||
// and update the caller to use bits.OnesCount64.
 | 
			
		||||
func onesCount64(x uint64) int {
 | 
			
		||||
	const m0 = 0x5555555555555555 // 01010101 ...
 | 
			
		||||
	const m1 = 0x3333333333333333 // 00110011 ...
 | 
			
		||||
	const m2 = 0x0f0f0f0f0f0f0f0f // 00001111 ...
 | 
			
		||||
	const m3 = 0x00ff00ff00ff00ff // etc.
 | 
			
		||||
	const m4 = 0x0000ffff0000ffff
 | 
			
		||||
 | 
			
		||||
	// Implementation: Parallel summing of adjacent bits.
 | 
			
		||||
	// See "Hacker's Delight", Chap. 5: Counting Bits.
 | 
			
		||||
	// The following pattern shows the general approach:
 | 
			
		||||
	//
 | 
			
		||||
	//   x = x>>1&(m0&m) + x&(m0&m)
 | 
			
		||||
	//   x = x>>2&(m1&m) + x&(m1&m)
 | 
			
		||||
	//   x = x>>4&(m2&m) + x&(m2&m)
 | 
			
		||||
	//   x = x>>8&(m3&m) + x&(m3&m)
 | 
			
		||||
	//   x = x>>16&(m4&m) + x&(m4&m)
 | 
			
		||||
	//   x = x>>32&(m5&m) + x&(m5&m)
 | 
			
		||||
	//   return int(x)
 | 
			
		||||
	//
 | 
			
		||||
	// Masking (& operations) can be left away when there's no
 | 
			
		||||
	// danger that a field's sum will carry over into the next
 | 
			
		||||
	// field: Since the result cannot be > 64, 8 bits is enough
 | 
			
		||||
	// and we can ignore the masks for the shifts by 8 and up.
 | 
			
		||||
	// Per "Hacker's Delight", the first line can be simplified
 | 
			
		||||
	// more, but it saves at best one instruction, so we leave
 | 
			
		||||
	// it alone for clarity.
 | 
			
		||||
	const m = 1<<64 - 1
 | 
			
		||||
	x = x>>1&(m0&m) + x&(m0&m)
 | 
			
		||||
	x = x>>2&(m1&m) + x&(m1&m)
 | 
			
		||||
	x = (x>>4 + x) & (m2 & m)
 | 
			
		||||
	x += x >> 8
 | 
			
		||||
	x += x >> 16
 | 
			
		||||
	x += x >> 32
 | 
			
		||||
	return int(x) & (1<<7 - 1)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										54
									
								
								vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build riscv64,!gccgo
 | 
			
		||||
 | 
			
		||||
#include "textflag.h"
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// System calls for linux/riscv64.
 | 
			
		||||
//
 | 
			
		||||
// Where available, just jump to package syscall's implementation of
 | 
			
		||||
// these functions.
 | 
			
		||||
 | 
			
		||||
TEXT ·Syscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·Syscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·Syscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·Syscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
 | 
			
		||||
	CALL	runtime·entersyscall(SB)
 | 
			
		||||
	MOV	a1+8(FP), A0
 | 
			
		||||
	MOV	a2+16(FP), A1
 | 
			
		||||
	MOV	a3+24(FP), A2
 | 
			
		||||
	MOV	$0, A3
 | 
			
		||||
	MOV	$0, A4
 | 
			
		||||
	MOV	$0, A5
 | 
			
		||||
	MOV	$0, A6
 | 
			
		||||
	MOV	trap+0(FP), A7	// syscall entry
 | 
			
		||||
	ECALL
 | 
			
		||||
	MOV	A0, r1+32(FP)	// r1
 | 
			
		||||
	MOV	A1, r2+40(FP)	// r2
 | 
			
		||||
	CALL	runtime·exitsyscall(SB)
 | 
			
		||||
	RET
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·RawSyscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·RawSyscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
 | 
			
		||||
	MOV	a1+8(FP), A0
 | 
			
		||||
	MOV	a2+16(FP), A1
 | 
			
		||||
	MOV	a3+24(FP), A2
 | 
			
		||||
	MOV	ZERO, A3
 | 
			
		||||
	MOV	ZERO, A4
 | 
			
		||||
	MOV	ZERO, A5
 | 
			
		||||
	MOV	trap+0(FP), A7	// syscall entry
 | 
			
		||||
	ECALL
 | 
			
		||||
	MOV	A0, r1+32(FP)
 | 
			
		||||
	MOV	A1, r2+40(FP)
 | 
			
		||||
	RET
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build !gccgo
 | 
			
		||||
 | 
			
		||||
#include "textflag.h"
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// System call support for arm64, OpenBSD
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
// Just jump to package syscall's implementation for all these functions.
 | 
			
		||||
// The runtime may know about them.
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·Syscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·Syscall6(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·Syscall9(SB),NOSPLIT,$0-104
 | 
			
		||||
	JMP	syscall·Syscall9(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·RawSyscall(SB),NOSPLIT,$0-56
 | 
			
		||||
	JMP	syscall·RawSyscall(SB)
 | 
			
		||||
 | 
			
		||||
TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
 | 
			
		||||
	JMP	syscall·RawSyscall6(SB)
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/bluetooth_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/bluetooth_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -23,6 +23,7 @@ const (
 | 
			
		||||
	HCI_CHANNEL_USER    = 1
 | 
			
		||||
	HCI_CHANNEL_MONITOR = 2
 | 
			
		||||
	HCI_CHANNEL_CONTROL = 3
 | 
			
		||||
	HCI_CHANNEL_LOGGING = 4
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Socketoption Level
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										91
									
								
								vendor/golang.org/x/sys/unix/dirent.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										91
									
								
								vendor/golang.org/x/sys/unix/dirent.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2,16 +2,101 @@
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
 | 
			
		||||
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "syscall"
 | 
			
		||||
import "unsafe"
 | 
			
		||||
 | 
			
		||||
// readInt returns the size-bytes unsigned integer in native byte order at offset off.
 | 
			
		||||
func readInt(b []byte, off, size uintptr) (u uint64, ok bool) {
 | 
			
		||||
	if len(b) < int(off+size) {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	if isBigEndian {
 | 
			
		||||
		return readIntBE(b[off:], size), true
 | 
			
		||||
	}
 | 
			
		||||
	return readIntLE(b[off:], size), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func readIntBE(b []byte, size uintptr) uint64 {
 | 
			
		||||
	switch size {
 | 
			
		||||
	case 1:
 | 
			
		||||
		return uint64(b[0])
 | 
			
		||||
	case 2:
 | 
			
		||||
		_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[1]) | uint64(b[0])<<8
 | 
			
		||||
	case 4:
 | 
			
		||||
		_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24
 | 
			
		||||
	case 8:
 | 
			
		||||
		_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
 | 
			
		||||
			uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
 | 
			
		||||
	default:
 | 
			
		||||
		panic("syscall: readInt with unsupported size")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func readIntLE(b []byte, size uintptr) uint64 {
 | 
			
		||||
	switch size {
 | 
			
		||||
	case 1:
 | 
			
		||||
		return uint64(b[0])
 | 
			
		||||
	case 2:
 | 
			
		||||
		_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8
 | 
			
		||||
	case 4:
 | 
			
		||||
		_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24
 | 
			
		||||
	case 8:
 | 
			
		||||
		_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
 | 
			
		||||
		return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |
 | 
			
		||||
			uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
 | 
			
		||||
	default:
 | 
			
		||||
		panic("syscall: readInt with unsupported size")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ParseDirent parses up to max directory entries in buf,
 | 
			
		||||
// appending the names to names. It returns the number of
 | 
			
		||||
// bytes consumed from buf, the number of entries added
 | 
			
		||||
// to names, and the new names slice.
 | 
			
		||||
func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) {
 | 
			
		||||
	return syscall.ParseDirent(buf, max, names)
 | 
			
		||||
	origlen := len(buf)
 | 
			
		||||
	count = 0
 | 
			
		||||
	for max != 0 && len(buf) > 0 {
 | 
			
		||||
		reclen, ok := direntReclen(buf)
 | 
			
		||||
		if !ok || reclen > uint64(len(buf)) {
 | 
			
		||||
			return origlen, count, names
 | 
			
		||||
		}
 | 
			
		||||
		rec := buf[:reclen]
 | 
			
		||||
		buf = buf[reclen:]
 | 
			
		||||
		ino, ok := direntIno(rec)
 | 
			
		||||
		if !ok {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		if ino == 0 { // File absent in directory.
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		const namoff = uint64(unsafe.Offsetof(Dirent{}.Name))
 | 
			
		||||
		namlen, ok := direntNamlen(rec)
 | 
			
		||||
		if !ok || namoff+namlen > uint64(len(rec)) {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		name := rec[namoff : namoff+namlen]
 | 
			
		||||
		for i, c := range name {
 | 
			
		||||
			if c == 0 {
 | 
			
		||||
				name = name[:i]
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		// Check for useless names before allocating a string.
 | 
			
		||||
		if string(name) == "." || string(name) == ".." {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		max--
 | 
			
		||||
		count++
 | 
			
		||||
		names = append(names, string(name))
 | 
			
		||||
	}
 | 
			
		||||
	return origlen - len(buf), count, names
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_little.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/endian_little.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
//
 | 
			
		||||
// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le
 | 
			
		||||
// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/golang.org/x/sys/unix/fdset.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/golang.org/x/sys/unix/fdset.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
// Set adds fd to the set fds.
 | 
			
		||||
func (fds *FdSet) Set(fd int) {
 | 
			
		||||
	fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Clear removes fd from the set fds.
 | 
			
		||||
func (fds *FdSet) Clear(fd int) {
 | 
			
		||||
	fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsSet returns whether fd is in the set fds.
 | 
			
		||||
func (fds *FdSet) IsSet(fd int) bool {
 | 
			
		||||
	return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Zero clears the set fds.
 | 
			
		||||
func (fds *FdSet) Zero() {
 | 
			
		||||
	for i := range fds.Bits {
 | 
			
		||||
		fds.Bits[i] = 0
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										41
									
								
								vendor/golang.org/x/sys/unix/ioctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								vendor/golang.org/x/sys/unix/ioctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,7 +6,19 @@
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "runtime"
 | 
			
		||||
import (
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
 | 
			
		||||
//
 | 
			
		||||
@@ -14,7 +26,7 @@ import "runtime"
 | 
			
		||||
func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	// TODO: if we get the chance, remove the req parameter and
 | 
			
		||||
	// hardcode TIOCSWINSZ.
 | 
			
		||||
	err := ioctlSetWinsize(fd, req, value)
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
	runtime.KeepAlive(value)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
@@ -24,7 +36,30 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
// The req value will usually be TCSETA or TIOCSETA.
 | 
			
		||||
func IoctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	// TODO: if we get the chance, remove the req parameter.
 | 
			
		||||
	err := ioctlSetTermios(fd, req, value)
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
	runtime.KeepAlive(value)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
//
 | 
			
		||||
// A few ioctl requests use the return value as an output parameter;
 | 
			
		||||
// for those, IoctlRetInt should be used instead of this function.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								vendor/golang.org/x/sys/unix/mkall.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								vendor/golang.org/x/sys/unix/mkall.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -105,25 +105,25 @@ dragonfly_amd64)
 | 
			
		||||
freebsd_386)
 | 
			
		||||
	mkerrors="$mkerrors -m32"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_amd64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_arm)
 | 
			
		||||
	mkerrors="$mkerrors"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -arm"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
freebsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master'"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
netbsd_386)
 | 
			
		||||
@@ -146,24 +146,39 @@ netbsd_arm)
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
netbsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -netbsd"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_386)
 | 
			
		||||
	mkerrors="$mkerrors -m32"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -openbsd"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_amd64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -openbsd"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_arm)
 | 
			
		||||
	mkerrors="$mkerrors"
 | 
			
		||||
	mksyscall="go run mksyscall.go -l32 -openbsd -arm"
 | 
			
		||||
	mksysctl="./mksysctl_openbsd.pl"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
	mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
 | 
			
		||||
	;;
 | 
			
		||||
openbsd_arm64)
 | 
			
		||||
	mkerrors="$mkerrors -m64"
 | 
			
		||||
	mksyscall="go run mksyscall.go -openbsd"
 | 
			
		||||
	mksysctl="go run mksysctl_openbsd.go"
 | 
			
		||||
	mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'"
 | 
			
		||||
	# Let the type of C char be signed for making the bare syscall
 | 
			
		||||
	# API consistent across platforms.
 | 
			
		||||
@@ -197,9 +212,11 @@ esac
 | 
			
		||||
				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ;
 | 
			
		||||
			elif [ "$GOOS" == "darwin" ]; then
 | 
			
		||||
			        # pre-1.12, direct syscalls
 | 
			
		||||
			        echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go";
 | 
			
		||||
			        echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go";
 | 
			
		||||
			        # 1.12 and later, syscalls via libSystem
 | 
			
		||||
				echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
 | 
			
		||||
				# 1.13 and later, syscalls via libSystem (including syscallPtr)
 | 
			
		||||
				echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go";
 | 
			
		||||
			else
 | 
			
		||||
				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
 | 
			
		||||
			fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										61
									
								
								vendor/golang.org/x/sys/unix/mkasm_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										61
									
								
								vendor/golang.org/x/sys/unix/mkasm_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -17,6 +17,34 @@ import (
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func writeASMFile(in string, fileName string, buildTags string) {
 | 
			
		||||
	trampolines := map[string]bool{}
 | 
			
		||||
 | 
			
		||||
	var out bytes.Buffer
 | 
			
		||||
 | 
			
		||||
	fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " "))
 | 
			
		||||
	fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n")
 | 
			
		||||
	fmt.Fprintf(&out, "\n")
 | 
			
		||||
	fmt.Fprintf(&out, "// +build %s\n", buildTags)
 | 
			
		||||
	fmt.Fprintf(&out, "\n")
 | 
			
		||||
	fmt.Fprintf(&out, "#include \"textflag.h\"\n")
 | 
			
		||||
	for _, line := range strings.Split(in, "\n") {
 | 
			
		||||
		if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fn := line[5 : len(line)-13]
 | 
			
		||||
		if !trampolines[fn] {
 | 
			
		||||
			trampolines[fn] = true
 | 
			
		||||
			fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn)
 | 
			
		||||
			fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	err := ioutil.WriteFile(fileName, out.Bytes(), 0644)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalf("can't write %s: %s", fileName, err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	in1, err := ioutil.ReadFile("syscall_darwin.go")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -33,29 +61,18 @@ func main() {
 | 
			
		||||
	}
 | 
			
		||||
	in := string(in1) + string(in2) + string(in3)
 | 
			
		||||
 | 
			
		||||
	trampolines := map[string]bool{}
 | 
			
		||||
	writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.s", arch), "go1.12")
 | 
			
		||||
 | 
			
		||||
	var out bytes.Buffer
 | 
			
		||||
 | 
			
		||||
	fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " "))
 | 
			
		||||
	fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n")
 | 
			
		||||
	fmt.Fprintf(&out, "\n")
 | 
			
		||||
	fmt.Fprintf(&out, "// +build go1.12\n")
 | 
			
		||||
	fmt.Fprintf(&out, "\n")
 | 
			
		||||
	fmt.Fprintf(&out, "#include \"textflag.h\"\n")
 | 
			
		||||
	for _, line := range strings.Split(in, "\n") {
 | 
			
		||||
		if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fn := line[5 : len(line)-13]
 | 
			
		||||
		if !trampolines[fn] {
 | 
			
		||||
			trampolines[fn] = true
 | 
			
		||||
			fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn)
 | 
			
		||||
			fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	err = ioutil.WriteFile(fmt.Sprintf("zsyscall_darwin_%s.s", arch), out.Bytes(), 0644)
 | 
			
		||||
	in1, err = ioutil.ReadFile("syscall_darwin.1_13.go")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalf("can't write zsyscall_darwin_%s.s: %s", arch, err)
 | 
			
		||||
		log.Fatalf("can't open syscall_darwin.1_13.go: %s", err)
 | 
			
		||||
	}
 | 
			
		||||
	in2, err = ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.1_13.go", arch))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalf("can't open zsyscall_darwin_%s.1_13.go: %s", arch, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	in = string(in1) + string(in2)
 | 
			
		||||
 | 
			
		||||
	writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.1_13.s", arch), "go1.13")
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										62
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -44,6 +44,7 @@ includes_AIX='
 | 
			
		||||
#include <sys/stropts.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
#include <sys/poll.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/termio.h>
 | 
			
		||||
#include <termios.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
@@ -60,6 +61,7 @@ includes_Darwin='
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/event.h>
 | 
			
		||||
#include <sys/ptrace.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/sysctl.h>
 | 
			
		||||
@@ -80,6 +82,7 @@ includes_Darwin='
 | 
			
		||||
includes_DragonFly='
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/event.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
@@ -103,6 +106,7 @@ includes_FreeBSD='
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/event.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
@@ -179,49 +183,58 @@ struct ltchars {
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/time.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/signalfd.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/xattr.h>
 | 
			
		||||
#include <linux/bpf.h>
 | 
			
		||||
#include <linux/can.h>
 | 
			
		||||
#include <linux/capability.h>
 | 
			
		||||
#include <linux/cryptouser.h>
 | 
			
		||||
#include <linux/devlink.h>
 | 
			
		||||
#include <linux/errqueue.h>
 | 
			
		||||
#include <linux/falloc.h>
 | 
			
		||||
#include <linux/fanotify.h>
 | 
			
		||||
#include <linux/filter.h>
 | 
			
		||||
#include <linux/fs.h>
 | 
			
		||||
#include <linux/genetlink.h>
 | 
			
		||||
#include <linux/hdreg.h>
 | 
			
		||||
#include <linux/icmpv6.h>
 | 
			
		||||
#include <linux/if.h>
 | 
			
		||||
#include <linux/if_addr.h>
 | 
			
		||||
#include <linux/if_alg.h>
 | 
			
		||||
#include <linux/if_arp.h>
 | 
			
		||||
#include <linux/if_ether.h>
 | 
			
		||||
#include <linux/if_ppp.h>
 | 
			
		||||
#include <linux/if_tun.h>
 | 
			
		||||
#include <linux/if_packet.h>
 | 
			
		||||
#include <linux/if_addr.h>
 | 
			
		||||
#include <linux/falloc.h>
 | 
			
		||||
#include <linux/fanotify.h>
 | 
			
		||||
#include <linux/filter.h>
 | 
			
		||||
#include <linux/fs.h>
 | 
			
		||||
#include <linux/if_xdp.h>
 | 
			
		||||
#include <linux/kexec.h>
 | 
			
		||||
#include <linux/keyctl.h>
 | 
			
		||||
#include <linux/loop.h>
 | 
			
		||||
#include <linux/magic.h>
 | 
			
		||||
#include <linux/memfd.h>
 | 
			
		||||
#include <linux/module.h>
 | 
			
		||||
#include <linux/netfilter/nfnetlink.h>
 | 
			
		||||
#include <linux/netlink.h>
 | 
			
		||||
#include <linux/net_namespace.h>
 | 
			
		||||
#include <linux/nsfs.h>
 | 
			
		||||
#include <linux/perf_event.h>
 | 
			
		||||
#include <linux/ptrace.h>
 | 
			
		||||
#include <linux/random.h>
 | 
			
		||||
#include <linux/reboot.h>
 | 
			
		||||
#include <linux/rtc.h>
 | 
			
		||||
#include <linux/rtnetlink.h>
 | 
			
		||||
#include <linux/ptrace.h>
 | 
			
		||||
#include <linux/sched.h>
 | 
			
		||||
#include <linux/seccomp.h>
 | 
			
		||||
#include <linux/sockios.h>
 | 
			
		||||
#include <linux/wait.h>
 | 
			
		||||
#include <linux/icmpv6.h>
 | 
			
		||||
#include <linux/serial.h>
 | 
			
		||||
#include <linux/can.h>
 | 
			
		||||
#include <linux/vm_sockets.h>
 | 
			
		||||
#include <linux/sockios.h>
 | 
			
		||||
#include <linux/taskstats.h>
 | 
			
		||||
#include <linux/genetlink.h>
 | 
			
		||||
#include <linux/tipc.h>
 | 
			
		||||
#include <linux/vm_sockets.h>
 | 
			
		||||
#include <linux/wait.h>
 | 
			
		||||
#include <linux/watchdog.h>
 | 
			
		||||
#include <linux/hdreg.h>
 | 
			
		||||
#include <linux/rtc.h>
 | 
			
		||||
#include <linux/if_xdp.h>
 | 
			
		||||
 | 
			
		||||
#include <mtd/ubi-user.h>
 | 
			
		||||
#include <net/route.h>
 | 
			
		||||
 | 
			
		||||
@@ -260,6 +273,11 @@ struct ltchars {
 | 
			
		||||
#define FS_KEY_DESC_PREFIX              "fscrypt:"
 | 
			
		||||
#define FS_KEY_DESC_PREFIX_SIZE         8
 | 
			
		||||
#define FS_MAX_KEY_SIZE                 64
 | 
			
		||||
 | 
			
		||||
// The code generator produces -0x1 for (~0), but an unsigned value is necessary
 | 
			
		||||
// for the tipc_subscr timeout __u32 field.
 | 
			
		||||
#undef TIPC_WAIT_FOREVER
 | 
			
		||||
#define TIPC_WAIT_FOREVER 0xffffffff
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
includes_NetBSD='
 | 
			
		||||
@@ -269,6 +287,7 @@ includes_NetBSD='
 | 
			
		||||
#include <sys/extattr.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/sysctl.h>
 | 
			
		||||
@@ -295,6 +314,7 @@ includes_OpenBSD='
 | 
			
		||||
#include <sys/event.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
@@ -331,6 +351,7 @@ includes_OpenBSD='
 | 
			
		||||
includes_SunOS='
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/select.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/sockio.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
@@ -423,6 +444,7 @@ ccflags="$@"
 | 
			
		||||
		$2 == "XCASE" ||
 | 
			
		||||
		$2 == "ALTWERASE" ||
 | 
			
		||||
		$2 == "NOKERNINFO" ||
 | 
			
		||||
		$2 == "NFDBITS" ||
 | 
			
		||||
		$2 ~ /^PAR/ ||
 | 
			
		||||
		$2 ~ /^SIG[^_]/ ||
 | 
			
		||||
		$2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ ||
 | 
			
		||||
@@ -432,7 +454,9 @@ ccflags="$@"
 | 
			
		||||
		$2 ~ /^TC[IO](ON|OFF)$/ ||
 | 
			
		||||
		$2 ~ /^IN_/ ||
 | 
			
		||||
		$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
 | 
			
		||||
		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
 | 
			
		||||
		$2 ~ /^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 ~ /^TP_STATUS_/ ||
 | 
			
		||||
		$2 ~ /^FALLOC_/ ||
 | 
			
		||||
		$2 == "ICMPV6_FILTER" ||
 | 
			
		||||
@@ -445,6 +469,7 @@ ccflags="$@"
 | 
			
		||||
		$2 ~ /^SYSCTL_VERS/ ||
 | 
			
		||||
		$2 !~ "MNT_BITS" &&
 | 
			
		||||
		$2 ~ /^(MS|MNT|UMOUNT)_/ ||
 | 
			
		||||
		$2 ~ /^NS_GET_/ ||
 | 
			
		||||
		$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
 | 
			
		||||
		$2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT)_/ ||
 | 
			
		||||
		$2 ~ /^KEXEC_/ ||
 | 
			
		||||
@@ -465,7 +490,7 @@ ccflags="$@"
 | 
			
		||||
		$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
 | 
			
		||||
		$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
 | 
			
		||||
		$2 ~ /^CLONE_[A-Z_]+/ ||
 | 
			
		||||
		$2 !~ /^(BPF_TIMEVAL)$/ &&
 | 
			
		||||
		$2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ &&
 | 
			
		||||
		$2 ~ /^(BPF|DLT)_/ ||
 | 
			
		||||
		$2 ~ /^(CLOCK|TIMER)_/ ||
 | 
			
		||||
		$2 ~ /^CAN_/ ||
 | 
			
		||||
@@ -499,6 +524,9 @@ ccflags="$@"
 | 
			
		||||
		$2 ~ /^NFN/ ||
 | 
			
		||||
		$2 ~ /^XDP_/ ||
 | 
			
		||||
		$2 ~ /^(HDIO|WIN|SMART)_/ ||
 | 
			
		||||
		$2 ~ /^CRYPTO_/ ||
 | 
			
		||||
		$2 ~ /^TIPC_/ ||
 | 
			
		||||
		$2 ~ /^DEVLINK_/ ||
 | 
			
		||||
		$2 !~ "WMESGLEN" &&
 | 
			
		||||
		$2 ~ /^W[A-Z0-9]+$/ ||
 | 
			
		||||
		$2 ~/^PPPIOC/ ||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								vendor/golang.org/x/sys/unix/mkpost.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/golang.org/x/sys/unix/mkpost.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -42,9 +42,16 @@ func main() {
 | 
			
		||||
		log.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if goos == "aix" {
 | 
			
		||||
		// Replace type of Atim, Mtim and Ctim by Timespec in Stat_t
 | 
			
		||||
		// to avoid having both StTimespec and Timespec.
 | 
			
		||||
		sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`)
 | 
			
		||||
		b = sttimespec.ReplaceAll(b, []byte("Timespec"))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Intentionally export __val fields in Fsid and Sigset_t
 | 
			
		||||
	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
 | 
			
		||||
	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}"))
 | 
			
		||||
	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`)
 | 
			
		||||
	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}"))
 | 
			
		||||
 | 
			
		||||
	// Intentionally export __fds_bits field in FdSet
 | 
			
		||||
	fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`)
 | 
			
		||||
@@ -96,6 +103,15 @@ func main() {
 | 
			
		||||
	cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
 | 
			
		||||
	b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
 | 
			
		||||
 | 
			
		||||
	// Rename Stat_t time fields
 | 
			
		||||
	if goos == "freebsd" && goarch == "386" {
 | 
			
		||||
		// Hide Stat_t.[AMCB]tim_ext fields
 | 
			
		||||
		renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`)
 | 
			
		||||
		b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_"))
 | 
			
		||||
	}
 | 
			
		||||
	renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`)
 | 
			
		||||
	b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}"))
 | 
			
		||||
 | 
			
		||||
	// gofmt
 | 
			
		||||
	b, err = format.Source(b)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/golang.org/x/sys/unix/mksyscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/golang.org/x/sys/unix/mksyscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -121,7 +121,7 @@ func main() {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	libc := false
 | 
			
		||||
	if goos == "darwin" && strings.Contains(buildTags(), ",go1.12") {
 | 
			
		||||
	if goos == "darwin" && (strings.Contains(buildTags(), ",go1.12") || strings.Contains(buildTags(), ",go1.13")) {
 | 
			
		||||
		libc = true
 | 
			
		||||
	}
 | 
			
		||||
	trampolines := map[string]bool{}
 | 
			
		||||
@@ -153,6 +153,11 @@ func main() {
 | 
			
		||||
			}
 | 
			
		||||
			funct, inps, outps, sysname := f[2], f[3], f[4], f[5]
 | 
			
		||||
 | 
			
		||||
			// ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers.
 | 
			
		||||
			if goos == "darwin" && !libc && funct == "ClockGettime" {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Split argument lists on comma.
 | 
			
		||||
			in := parseParamList(inps)
 | 
			
		||||
			out := parseParamList(outps)
 | 
			
		||||
@@ -287,11 +292,6 @@ func main() {
 | 
			
		||||
				asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call
 | 
			
		||||
				sysname = strings.TrimPrefix(sysname, "SYS_")         // remove SYS_
 | 
			
		||||
				sysname = strings.ToLower(sysname)                    // lowercase
 | 
			
		||||
				if sysname == "getdirentries64" {
 | 
			
		||||
					// Special case - libSystem name and
 | 
			
		||||
					// raw syscall name don't match.
 | 
			
		||||
					sysname = "__getdirentries64"
 | 
			
		||||
				}
 | 
			
		||||
				libcFn = sysname
 | 
			
		||||
				sysname = "funcPC(libc_" + sysname + "_trampoline)"
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -214,6 +214,11 @@ func main() {
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
 | 
			
		||||
				if sysname == "select" {
 | 
			
		||||
					// select is a keyword of Go. Its name is
 | 
			
		||||
					// changed to c_select.
 | 
			
		||||
					cExtern += "#define c_select select\n"
 | 
			
		||||
				}
 | 
			
		||||
				// Imports of system calls from libc
 | 
			
		||||
				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
 | 
			
		||||
				cIn := strings.Join(cIn, ", ")
 | 
			
		||||
@@ -328,7 +333,13 @@ func main() {
 | 
			
		||||
			} else {
 | 
			
		||||
				call += ""
 | 
			
		||||
			}
 | 
			
		||||
			call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
 | 
			
		||||
			if sysname == "select" {
 | 
			
		||||
				// select is a keyword of Go. Its name is
 | 
			
		||||
				// changed to c_select.
 | 
			
		||||
				call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist)
 | 
			
		||||
			} else {
 | 
			
		||||
				call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Assign return values.
 | 
			
		||||
			body := ""
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -282,6 +282,11 @@ func main() {
 | 
			
		||||
			if !onlyCommon {
 | 
			
		||||
				// GCCGO Prototype Generation
 | 
			
		||||
				// Imports of system calls from libc
 | 
			
		||||
				if sysname == "select" {
 | 
			
		||||
					// select is a keyword of Go. Its name is
 | 
			
		||||
					// changed to c_select.
 | 
			
		||||
					cExtern += "#define c_select select\n"
 | 
			
		||||
				}
 | 
			
		||||
				cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
 | 
			
		||||
				cIn := strings.Join(cIn, ", ")
 | 
			
		||||
				cExtern += fmt.Sprintf("(%s);\n", cIn)
 | 
			
		||||
@@ -490,7 +495,14 @@ func main() {
 | 
			
		||||
 | 
			
		||||
			// GCCGO function generation
 | 
			
		||||
			argsgccgolist := strings.Join(argsgccgo, ", ")
 | 
			
		||||
			callgccgo := fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			var callgccgo string
 | 
			
		||||
			if sysname == "select" {
 | 
			
		||||
				// select is a keyword of Go. Its name is
 | 
			
		||||
				// changed to c_select.
 | 
			
		||||
				callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			} else {
 | 
			
		||||
				callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist)
 | 
			
		||||
			}
 | 
			
		||||
			textgccgo += callProto
 | 
			
		||||
			textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo)
 | 
			
		||||
			textgccgo += "\te1 = syscall.GetErrno()\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										355
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										355
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,355 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
 | 
			
		||||
//
 | 
			
		||||
// Build a MIB with each entry being an array containing the level, type and
 | 
			
		||||
// a hash that will contain additional entries if the current entry is a node.
 | 
			
		||||
// We then walk this MIB and create a flattened sysctl name to OID hash.
 | 
			
		||||
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	goos, goarch string
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// cmdLine returns this programs's commandline arguments.
 | 
			
		||||
func cmdLine() string {
 | 
			
		||||
	return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// buildTags returns build tags.
 | 
			
		||||
func buildTags() string {
 | 
			
		||||
	return fmt.Sprintf("%s,%s", goarch, goos)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// reMatch performs regular expression match and stores the substring slice to value pointed by m.
 | 
			
		||||
func reMatch(re *regexp.Regexp, str string, m *[]string) bool {
 | 
			
		||||
	*m = re.FindStringSubmatch(str)
 | 
			
		||||
	if *m != nil {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nodeElement struct {
 | 
			
		||||
	n  int
 | 
			
		||||
	t  string
 | 
			
		||||
	pE *map[string]nodeElement
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	debugEnabled bool
 | 
			
		||||
	mib          map[string]nodeElement
 | 
			
		||||
	node         *map[string]nodeElement
 | 
			
		||||
	nodeMap      map[string]string
 | 
			
		||||
	sysCtl       []string
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`)
 | 
			
		||||
	ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`)
 | 
			
		||||
	ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`)
 | 
			
		||||
	netInetRE   = regexp.MustCompile(`^netinet/`)
 | 
			
		||||
	netInet6RE  = regexp.MustCompile(`^netinet6/`)
 | 
			
		||||
	netRE       = regexp.MustCompile(`^net/`)
 | 
			
		||||
	bracesRE    = regexp.MustCompile(`{.*}`)
 | 
			
		||||
	ctlTypeRE   = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`)
 | 
			
		||||
	fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func debug(s string) {
 | 
			
		||||
	if debugEnabled {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, s)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Walk the MIB and build a sysctl name to OID mapping.
 | 
			
		||||
func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) {
 | 
			
		||||
	lNode := pNode // local copy of pointer to node
 | 
			
		||||
	var keys []string
 | 
			
		||||
	for k := range *lNode {
 | 
			
		||||
		keys = append(keys, k)
 | 
			
		||||
	}
 | 
			
		||||
	sort.Strings(keys)
 | 
			
		||||
 | 
			
		||||
	for _, key := range keys {
 | 
			
		||||
		nodename := name
 | 
			
		||||
		if name != "" {
 | 
			
		||||
			nodename += "."
 | 
			
		||||
		}
 | 
			
		||||
		nodename += key
 | 
			
		||||
 | 
			
		||||
		nodeoid := append(oid, (*pNode)[key].n)
 | 
			
		||||
 | 
			
		||||
		if (*pNode)[key].t == `CTLTYPE_NODE` {
 | 
			
		||||
			if _, ok := nodeMap[nodename]; ok {
 | 
			
		||||
				lNode = &mib
 | 
			
		||||
				ctlName := nodeMap[nodename]
 | 
			
		||||
				for _, part := range strings.Split(ctlName, ".") {
 | 
			
		||||
					lNode = ((*lNode)[part]).pE
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				lNode = (*pNode)[key].pE
 | 
			
		||||
			}
 | 
			
		||||
			buildSysctl(lNode, nodename, nodeoid)
 | 
			
		||||
		} else if (*pNode)[key].t != "" {
 | 
			
		||||
			oidStr := []string{}
 | 
			
		||||
			for j := range nodeoid {
 | 
			
		||||
				oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j]))
 | 
			
		||||
			}
 | 
			
		||||
			text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n"
 | 
			
		||||
			sysCtl = append(sysCtl, text)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	// Get the OS (using GOOS_TARGET if it exist)
 | 
			
		||||
	goos = os.Getenv("GOOS_TARGET")
 | 
			
		||||
	if goos == "" {
 | 
			
		||||
		goos = os.Getenv("GOOS")
 | 
			
		||||
	}
 | 
			
		||||
	// Get the architecture (using GOARCH_TARGET if it exists)
 | 
			
		||||
	goarch = os.Getenv("GOARCH_TARGET")
 | 
			
		||||
	if goarch == "" {
 | 
			
		||||
		goarch = os.Getenv("GOARCH")
 | 
			
		||||
	}
 | 
			
		||||
	// Check if GOOS and GOARCH environment variables are defined
 | 
			
		||||
	if goarch == "" || goos == "" {
 | 
			
		||||
		fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n")
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mib = make(map[string]nodeElement)
 | 
			
		||||
	headers := [...]string{
 | 
			
		||||
		`sys/sysctl.h`,
 | 
			
		||||
		`sys/socket.h`,
 | 
			
		||||
		`sys/tty.h`,
 | 
			
		||||
		`sys/malloc.h`,
 | 
			
		||||
		`sys/mount.h`,
 | 
			
		||||
		`sys/namei.h`,
 | 
			
		||||
		`sys/sem.h`,
 | 
			
		||||
		`sys/shm.h`,
 | 
			
		||||
		`sys/vmmeter.h`,
 | 
			
		||||
		`uvm/uvmexp.h`,
 | 
			
		||||
		`uvm/uvm_param.h`,
 | 
			
		||||
		`uvm/uvm_swap_encrypt.h`,
 | 
			
		||||
		`ddb/db_var.h`,
 | 
			
		||||
		`net/if.h`,
 | 
			
		||||
		`net/if_pfsync.h`,
 | 
			
		||||
		`net/pipex.h`,
 | 
			
		||||
		`netinet/in.h`,
 | 
			
		||||
		`netinet/icmp_var.h`,
 | 
			
		||||
		`netinet/igmp_var.h`,
 | 
			
		||||
		`netinet/ip_ah.h`,
 | 
			
		||||
		`netinet/ip_carp.h`,
 | 
			
		||||
		`netinet/ip_divert.h`,
 | 
			
		||||
		`netinet/ip_esp.h`,
 | 
			
		||||
		`netinet/ip_ether.h`,
 | 
			
		||||
		`netinet/ip_gre.h`,
 | 
			
		||||
		`netinet/ip_ipcomp.h`,
 | 
			
		||||
		`netinet/ip_ipip.h`,
 | 
			
		||||
		`netinet/pim_var.h`,
 | 
			
		||||
		`netinet/tcp_var.h`,
 | 
			
		||||
		`netinet/udp_var.h`,
 | 
			
		||||
		`netinet6/in6.h`,
 | 
			
		||||
		`netinet6/ip6_divert.h`,
 | 
			
		||||
		`netinet6/pim6_var.h`,
 | 
			
		||||
		`netinet/icmp6.h`,
 | 
			
		||||
		`netmpls/mpls.h`,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ctls := [...]string{
 | 
			
		||||
		`kern`,
 | 
			
		||||
		`vm`,
 | 
			
		||||
		`fs`,
 | 
			
		||||
		`net`,
 | 
			
		||||
		//debug			/* Special handling required */
 | 
			
		||||
		`hw`,
 | 
			
		||||
		//machdep		/* Arch specific */
 | 
			
		||||
		`user`,
 | 
			
		||||
		`ddb`,
 | 
			
		||||
		//vfs			/* Special handling required */
 | 
			
		||||
		`fs.posix`,
 | 
			
		||||
		`kern.forkstat`,
 | 
			
		||||
		`kern.intrcnt`,
 | 
			
		||||
		`kern.malloc`,
 | 
			
		||||
		`kern.nchstats`,
 | 
			
		||||
		`kern.seminfo`,
 | 
			
		||||
		`kern.shminfo`,
 | 
			
		||||
		`kern.timecounter`,
 | 
			
		||||
		`kern.tty`,
 | 
			
		||||
		`kern.watchdog`,
 | 
			
		||||
		`net.bpf`,
 | 
			
		||||
		`net.ifq`,
 | 
			
		||||
		`net.inet`,
 | 
			
		||||
		`net.inet.ah`,
 | 
			
		||||
		`net.inet.carp`,
 | 
			
		||||
		`net.inet.divert`,
 | 
			
		||||
		`net.inet.esp`,
 | 
			
		||||
		`net.inet.etherip`,
 | 
			
		||||
		`net.inet.gre`,
 | 
			
		||||
		`net.inet.icmp`,
 | 
			
		||||
		`net.inet.igmp`,
 | 
			
		||||
		`net.inet.ip`,
 | 
			
		||||
		`net.inet.ip.ifq`,
 | 
			
		||||
		`net.inet.ipcomp`,
 | 
			
		||||
		`net.inet.ipip`,
 | 
			
		||||
		`net.inet.mobileip`,
 | 
			
		||||
		`net.inet.pfsync`,
 | 
			
		||||
		`net.inet.pim`,
 | 
			
		||||
		`net.inet.tcp`,
 | 
			
		||||
		`net.inet.udp`,
 | 
			
		||||
		`net.inet6`,
 | 
			
		||||
		`net.inet6.divert`,
 | 
			
		||||
		`net.inet6.ip6`,
 | 
			
		||||
		`net.inet6.icmp6`,
 | 
			
		||||
		`net.inet6.pim6`,
 | 
			
		||||
		`net.inet6.tcp6`,
 | 
			
		||||
		`net.inet6.udp6`,
 | 
			
		||||
		`net.mpls`,
 | 
			
		||||
		`net.mpls.ifq`,
 | 
			
		||||
		`net.key`,
 | 
			
		||||
		`net.pflow`,
 | 
			
		||||
		`net.pfsync`,
 | 
			
		||||
		`net.pipex`,
 | 
			
		||||
		`net.rt`,
 | 
			
		||||
		`vm.swapencrypt`,
 | 
			
		||||
		//vfsgenctl		/* Special handling required */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Node name "fixups"
 | 
			
		||||
	ctlMap := map[string]string{
 | 
			
		||||
		"ipproto":             "net.inet",
 | 
			
		||||
		"net.inet.ipproto":    "net.inet",
 | 
			
		||||
		"net.inet6.ipv6proto": "net.inet6",
 | 
			
		||||
		"net.inet6.ipv6":      "net.inet6.ip6",
 | 
			
		||||
		"net.inet.icmpv6":     "net.inet6.icmp6",
 | 
			
		||||
		"net.inet6.divert6":   "net.inet6.divert",
 | 
			
		||||
		"net.inet6.tcp6":      "net.inet.tcp",
 | 
			
		||||
		"net.inet6.udp6":      "net.inet.udp",
 | 
			
		||||
		"mpls":                "net.mpls",
 | 
			
		||||
		"swpenc":              "vm.swapencrypt",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Node mappings
 | 
			
		||||
	nodeMap = map[string]string{
 | 
			
		||||
		"net.inet.ip.ifq": "net.ifq",
 | 
			
		||||
		"net.inet.pfsync": "net.pfsync",
 | 
			
		||||
		"net.mpls.ifq":    "net.ifq",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	mCtls := make(map[string]bool)
 | 
			
		||||
	for _, ctl := range ctls {
 | 
			
		||||
		mCtls[ctl] = true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, header := range headers {
 | 
			
		||||
		debug("Processing " + header)
 | 
			
		||||
		file, err := os.Open(filepath.Join("/usr/include", header))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Fprintf(os.Stderr, "%v\n", err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		s := bufio.NewScanner(file)
 | 
			
		||||
		for s.Scan() {
 | 
			
		||||
			var sub []string
 | 
			
		||||
			if reMatch(ctlNames1RE, s.Text(), &sub) ||
 | 
			
		||||
				reMatch(ctlNames2RE, s.Text(), &sub) ||
 | 
			
		||||
				reMatch(ctlNames3RE, s.Text(), &sub) {
 | 
			
		||||
				if sub[1] == `CTL_NAMES` {
 | 
			
		||||
					// Top level.
 | 
			
		||||
					node = &mib
 | 
			
		||||
				} else {
 | 
			
		||||
					// Node.
 | 
			
		||||
					nodename := strings.ToLower(sub[2])
 | 
			
		||||
					ctlName := ""
 | 
			
		||||
					if reMatch(netInetRE, header, &sub) {
 | 
			
		||||
						ctlName = "net.inet." + nodename
 | 
			
		||||
					} else if reMatch(netInet6RE, header, &sub) {
 | 
			
		||||
						ctlName = "net.inet6." + nodename
 | 
			
		||||
					} else if reMatch(netRE, header, &sub) {
 | 
			
		||||
						ctlName = "net." + nodename
 | 
			
		||||
					} else {
 | 
			
		||||
						ctlName = nodename
 | 
			
		||||
						ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`)
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					if val, ok := ctlMap[ctlName]; ok {
 | 
			
		||||
						ctlName = val
 | 
			
		||||
					}
 | 
			
		||||
					if _, ok := mCtls[ctlName]; !ok {
 | 
			
		||||
						debug("Ignoring " + ctlName + "...")
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					// Walk down from the top of the MIB.
 | 
			
		||||
					node = &mib
 | 
			
		||||
					for _, part := range strings.Split(ctlName, ".") {
 | 
			
		||||
						if _, ok := (*node)[part]; !ok {
 | 
			
		||||
							debug("Missing node " + part)
 | 
			
		||||
							(*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}}
 | 
			
		||||
						}
 | 
			
		||||
						node = (*node)[part].pE
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// Populate current node with entries.
 | 
			
		||||
				i := -1
 | 
			
		||||
				for !strings.HasPrefix(s.Text(), "}") {
 | 
			
		||||
					s.Scan()
 | 
			
		||||
					if reMatch(bracesRE, s.Text(), &sub) {
 | 
			
		||||
						i++
 | 
			
		||||
					}
 | 
			
		||||
					if !reMatch(ctlTypeRE, s.Text(), &sub) {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
					(*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		err = s.Err()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Fprintf(os.Stderr, "%v\n", err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		file.Close()
 | 
			
		||||
	}
 | 
			
		||||
	buildSysctl(&mib, "", []int{})
 | 
			
		||||
 | 
			
		||||
	sort.Strings(sysCtl)
 | 
			
		||||
	text := strings.Join(sysCtl, "")
 | 
			
		||||
 | 
			
		||||
	fmt.Printf(srcTemplate, cmdLine(), buildTags(), text)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const srcTemplate = `// %s
 | 
			
		||||
// Code generated by the command above; DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// +build %s
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
type mibentry struct {
 | 
			
		||||
	ctlname string
 | 
			
		||||
	ctloid []_C_int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var sysctlMib = []mibentry {
 | 
			
		||||
%s
 | 
			
		||||
}
 | 
			
		||||
`
 | 
			
		||||
							
								
								
									
										265
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										265
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,265 +0,0 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
 | 
			
		||||
# Copyright 2011 The Go Authors. All rights reserved.
 | 
			
		||||
# Use of this source code is governed by a BSD-style
 | 
			
		||||
# license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
 | 
			
		||||
#
 | 
			
		||||
# Build a MIB with each entry being an array containing the level, type and
 | 
			
		||||
# a hash that will contain additional entries if the current entry is a node.
 | 
			
		||||
# We then walk this MIB and create a flattened sysctl name to OID hash.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
 | 
			
		||||
if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
 | 
			
		||||
	print STDERR "GOARCH or GOOS not defined in environment\n";
 | 
			
		||||
	exit 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $debug = 0;
 | 
			
		||||
my %ctls = ();
 | 
			
		||||
 | 
			
		||||
my @headers = qw (
 | 
			
		||||
	sys/sysctl.h
 | 
			
		||||
	sys/socket.h
 | 
			
		||||
	sys/tty.h
 | 
			
		||||
	sys/malloc.h
 | 
			
		||||
	sys/mount.h
 | 
			
		||||
	sys/namei.h
 | 
			
		||||
	sys/sem.h
 | 
			
		||||
	sys/shm.h
 | 
			
		||||
	sys/vmmeter.h
 | 
			
		||||
	uvm/uvmexp.h
 | 
			
		||||
	uvm/uvm_param.h
 | 
			
		||||
	uvm/uvm_swap_encrypt.h
 | 
			
		||||
	ddb/db_var.h
 | 
			
		||||
	net/if.h
 | 
			
		||||
	net/if_pfsync.h
 | 
			
		||||
	net/pipex.h
 | 
			
		||||
	netinet/in.h
 | 
			
		||||
	netinet/icmp_var.h
 | 
			
		||||
	netinet/igmp_var.h
 | 
			
		||||
	netinet/ip_ah.h
 | 
			
		||||
	netinet/ip_carp.h
 | 
			
		||||
	netinet/ip_divert.h
 | 
			
		||||
	netinet/ip_esp.h
 | 
			
		||||
	netinet/ip_ether.h
 | 
			
		||||
	netinet/ip_gre.h
 | 
			
		||||
	netinet/ip_ipcomp.h
 | 
			
		||||
	netinet/ip_ipip.h
 | 
			
		||||
	netinet/pim_var.h
 | 
			
		||||
	netinet/tcp_var.h
 | 
			
		||||
	netinet/udp_var.h
 | 
			
		||||
	netinet6/in6.h
 | 
			
		||||
	netinet6/ip6_divert.h
 | 
			
		||||
	netinet6/pim6_var.h
 | 
			
		||||
	netinet/icmp6.h
 | 
			
		||||
	netmpls/mpls.h
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
my @ctls = qw (
 | 
			
		||||
	kern
 | 
			
		||||
	vm
 | 
			
		||||
	fs
 | 
			
		||||
	net
 | 
			
		||||
	#debug				# Special handling required
 | 
			
		||||
	hw
 | 
			
		||||
	#machdep			# Arch specific
 | 
			
		||||
	user
 | 
			
		||||
	ddb
 | 
			
		||||
	#vfs				# Special handling required
 | 
			
		||||
	fs.posix
 | 
			
		||||
	kern.forkstat
 | 
			
		||||
	kern.intrcnt
 | 
			
		||||
	kern.malloc
 | 
			
		||||
	kern.nchstats
 | 
			
		||||
	kern.seminfo
 | 
			
		||||
	kern.shminfo
 | 
			
		||||
	kern.timecounter
 | 
			
		||||
	kern.tty
 | 
			
		||||
	kern.watchdog
 | 
			
		||||
	net.bpf
 | 
			
		||||
	net.ifq
 | 
			
		||||
	net.inet
 | 
			
		||||
	net.inet.ah
 | 
			
		||||
	net.inet.carp
 | 
			
		||||
	net.inet.divert
 | 
			
		||||
	net.inet.esp
 | 
			
		||||
	net.inet.etherip
 | 
			
		||||
	net.inet.gre
 | 
			
		||||
	net.inet.icmp
 | 
			
		||||
	net.inet.igmp
 | 
			
		||||
	net.inet.ip
 | 
			
		||||
	net.inet.ip.ifq
 | 
			
		||||
	net.inet.ipcomp
 | 
			
		||||
	net.inet.ipip
 | 
			
		||||
	net.inet.mobileip
 | 
			
		||||
	net.inet.pfsync
 | 
			
		||||
	net.inet.pim
 | 
			
		||||
	net.inet.tcp
 | 
			
		||||
	net.inet.udp
 | 
			
		||||
	net.inet6
 | 
			
		||||
	net.inet6.divert
 | 
			
		||||
	net.inet6.ip6
 | 
			
		||||
	net.inet6.icmp6
 | 
			
		||||
	net.inet6.pim6
 | 
			
		||||
	net.inet6.tcp6
 | 
			
		||||
	net.inet6.udp6
 | 
			
		||||
	net.mpls
 | 
			
		||||
	net.mpls.ifq
 | 
			
		||||
	net.key
 | 
			
		||||
	net.pflow
 | 
			
		||||
	net.pfsync
 | 
			
		||||
	net.pipex
 | 
			
		||||
	net.rt
 | 
			
		||||
	vm.swapencrypt
 | 
			
		||||
	#vfsgenctl			# Special handling required
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
# Node name "fixups"
 | 
			
		||||
my %ctl_map = (
 | 
			
		||||
	"ipproto" => "net.inet",
 | 
			
		||||
	"net.inet.ipproto" => "net.inet",
 | 
			
		||||
	"net.inet6.ipv6proto" => "net.inet6",
 | 
			
		||||
	"net.inet6.ipv6" => "net.inet6.ip6",
 | 
			
		||||
	"net.inet.icmpv6" => "net.inet6.icmp6",
 | 
			
		||||
	"net.inet6.divert6" => "net.inet6.divert",
 | 
			
		||||
	"net.inet6.tcp6" => "net.inet.tcp",
 | 
			
		||||
	"net.inet6.udp6" => "net.inet.udp",
 | 
			
		||||
	"mpls" => "net.mpls",
 | 
			
		||||
	"swpenc" => "vm.swapencrypt"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
# Node mappings
 | 
			
		||||
my %node_map = (
 | 
			
		||||
	"net.inet.ip.ifq" => "net.ifq",
 | 
			
		||||
	"net.inet.pfsync" => "net.pfsync",
 | 
			
		||||
	"net.mpls.ifq" => "net.ifq"
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
my $ctlname;
 | 
			
		||||
my %mib = ();
 | 
			
		||||
my %sysctl = ();
 | 
			
		||||
my $node;
 | 
			
		||||
 | 
			
		||||
sub debug() {
 | 
			
		||||
	print STDERR "$_[0]\n" if $debug;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Walk the MIB and build a sysctl name to OID mapping.
 | 
			
		||||
sub build_sysctl() {
 | 
			
		||||
	my ($node, $name, $oid) = @_;
 | 
			
		||||
	my %node = %{$node};
 | 
			
		||||
	my @oid = @{$oid};
 | 
			
		||||
 | 
			
		||||
	foreach my $key (sort keys %node) {
 | 
			
		||||
		my @node = @{$node{$key}};
 | 
			
		||||
		my $nodename = $name.($name ne '' ? '.' : '').$key;
 | 
			
		||||
		my @nodeoid = (@oid, $node[0]);
 | 
			
		||||
		if ($node[1] eq 'CTLTYPE_NODE') {
 | 
			
		||||
			if (exists $node_map{$nodename}) {
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
				$ctlname = $node_map{$nodename};
 | 
			
		||||
				foreach my $part (split /\./, $ctlname) {
 | 
			
		||||
					$node = \%{@{$$node{$part}}[2]};
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				$node = $node[2];
 | 
			
		||||
			}
 | 
			
		||||
			&build_sysctl($node, $nodename, \@nodeoid);
 | 
			
		||||
		} elsif ($node[1] ne '') {
 | 
			
		||||
			$sysctl{$nodename} = \@nodeoid;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
foreach my $ctl (@ctls) {
 | 
			
		||||
	$ctls{$ctl} = $ctl;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Build MIB
 | 
			
		||||
foreach my $header (@headers) {
 | 
			
		||||
	&debug("Processing $header...");
 | 
			
		||||
	open HEADER, "/usr/include/$header" ||
 | 
			
		||||
	    print STDERR "Failed to open $header\n";
 | 
			
		||||
	while (<HEADER>) {
 | 
			
		||||
		if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ ||
 | 
			
		||||
		    $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ ||
 | 
			
		||||
		    $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) {
 | 
			
		||||
			if ($1 eq 'CTL_NAMES') {
 | 
			
		||||
				# Top level.
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
			} else {
 | 
			
		||||
				# Node.
 | 
			
		||||
				my $nodename = lc($2);
 | 
			
		||||
				if ($header =~ /^netinet\//) {
 | 
			
		||||
					$ctlname = "net.inet.$nodename";
 | 
			
		||||
				} elsif ($header =~ /^netinet6\//) {
 | 
			
		||||
					$ctlname = "net.inet6.$nodename";
 | 
			
		||||
				} elsif ($header =~ /^net\//) {
 | 
			
		||||
					$ctlname = "net.$nodename";
 | 
			
		||||
				} else {
 | 
			
		||||
					$ctlname = "$nodename";
 | 
			
		||||
					$ctlname =~ s/^(fs|net|kern)_/$1\./;
 | 
			
		||||
				}
 | 
			
		||||
				if (exists $ctl_map{$ctlname}) {
 | 
			
		||||
					$ctlname = $ctl_map{$ctlname};
 | 
			
		||||
				}
 | 
			
		||||
				if (not exists $ctls{$ctlname}) {
 | 
			
		||||
					&debug("Ignoring $ctlname...");
 | 
			
		||||
					next;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				# Walk down from the top of the MIB.
 | 
			
		||||
				$node = \%mib;
 | 
			
		||||
				foreach my $part (split /\./, $ctlname) {
 | 
			
		||||
					if (not exists $$node{$part}) {
 | 
			
		||||
						&debug("Missing node $part");
 | 
			
		||||
						$$node{$part} = [ 0, '', {} ];
 | 
			
		||||
					}
 | 
			
		||||
					$node = \%{@{$$node{$part}}[2]};
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			# Populate current node with entries.
 | 
			
		||||
			my $i = -1;
 | 
			
		||||
			while (defined($_) && $_ !~ /^}/) {
 | 
			
		||||
				$_ = <HEADER>;
 | 
			
		||||
				$i++ if $_ =~ /{.*}/;
 | 
			
		||||
				next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/;
 | 
			
		||||
				$$node{$1} = [ $i, $2, {} ];
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	close HEADER;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
&build_sysctl(\%mib, "", []);
 | 
			
		||||
 | 
			
		||||
print <<EOF;
 | 
			
		||||
// mksysctl_openbsd.pl
 | 
			
		||||
// Code generated by the command above; DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
 | 
			
		||||
 | 
			
		||||
package unix;
 | 
			
		||||
 | 
			
		||||
type mibentry struct {
 | 
			
		||||
	ctlname string
 | 
			
		||||
	ctloid []_C_int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var sysctlMib = []mibentry {
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
foreach my $name (sort keys %sysctl) {
 | 
			
		||||
	my @oid = @{$sysctl{$name}};
 | 
			
		||||
	print "\t{ \"$name\", []_C_int{ ", join(', ', @oid), " } }, \n";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print <<EOF;
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/mksysnum.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/mksysnum.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -139,7 +139,7 @@ func main() {
 | 
			
		||||
				text += format(name, num, proto)
 | 
			
		||||
			}
 | 
			
		||||
		case "freebsd":
 | 
			
		||||
			if t.Match(`^([0-9]+)\s+\S+\s+(?:NO)?STD\s+({ \S+\s+(\w+).*)$`) {
 | 
			
		||||
			if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD|COMPAT10)\s+({ \S+\s+(\w+).*)$`) {
 | 
			
		||||
				num, proto := t.sub[1], t.sub[2]
 | 
			
		||||
				name := fmt.Sprintf("SYS_%s", t.sub[3])
 | 
			
		||||
				text += format(name, num, proto)
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,6 @@
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build openbsd
 | 
			
		||||
// +build 386 amd64 arm
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/golang.org/x/sys/unix/readdirent_getdents.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/golang.org/x/sys/unix/readdirent_getdents.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build aix dragonfly freebsd linux netbsd openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return Getdents(fd, buf)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "unsafe"
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// 64 bits should be enough. (32 bits isn't even on 386). Since the
 | 
			
		||||
	// actual system call is getdirentries64, 64 is a good guess.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
 | 
			
		||||
	return Getdirentries(fd, buf, base)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
// Round the length of a raw sockaddr up to align it properly.
 | 
			
		||||
func cmsgAlignOf(salen int) int {
 | 
			
		||||
	salign := SizeofPtr
 | 
			
		||||
	if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) {
 | 
			
		||||
		// 64-bit Dragonfly before the September 2019 ABI changes still requires
 | 
			
		||||
		// 32-bit aligned access to network subsystem.
 | 
			
		||||
		salign = 4
 | 
			
		||||
	}
 | 
			
		||||
	return (salen + salign - 1) & ^(salign - 1)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -17,7 +17,7 @@ func UnixCredentials(ucred *Ucred) []byte {
 | 
			
		||||
	h.Level = SOL_SOCKET
 | 
			
		||||
	h.Type = SCM_CREDENTIALS
 | 
			
		||||
	h.SetLen(CmsgLen(SizeofUcred))
 | 
			
		||||
	*((*Ucred)(cmsgData(h))) = *ucred
 | 
			
		||||
	*(*Ucred)(h.data(0)) = *ucred
 | 
			
		||||
	return b
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -9,32 +9,9 @@
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Round the length of a raw sockaddr up to align it properly.
 | 
			
		||||
func cmsgAlignOf(salen int) int {
 | 
			
		||||
	salign := SizeofPtr
 | 
			
		||||
 | 
			
		||||
	switch runtime.GOOS {
 | 
			
		||||
	case "darwin", "dragonfly", "solaris":
 | 
			
		||||
		// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
 | 
			
		||||
		// Solaris kernels still require 32-bit aligned access to
 | 
			
		||||
		// network subsystem.
 | 
			
		||||
		if SizeofPtr == 8 {
 | 
			
		||||
			salign = 4
 | 
			
		||||
		}
 | 
			
		||||
	case "netbsd", "openbsd":
 | 
			
		||||
		// NetBSD and OpenBSD armv7 require 64-bit alignment.
 | 
			
		||||
		if runtime.GOARCH == "arm" {
 | 
			
		||||
			salign = 8
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return (salen + salign - 1) & ^(salign - 1)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CmsgLen returns the value to store in the Len field of the Cmsghdr
 | 
			
		||||
// structure, taking into account any necessary alignment.
 | 
			
		||||
func CmsgLen(datalen int) int {
 | 
			
		||||
@@ -47,8 +24,8 @@ func CmsgSpace(datalen int) int {
 | 
			
		||||
	return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func cmsgData(h *Cmsghdr) unsafe.Pointer {
 | 
			
		||||
	return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)))
 | 
			
		||||
func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer {
 | 
			
		||||
	return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SocketControlMessage represents a socket control message.
 | 
			
		||||
@@ -91,10 +68,8 @@ func UnixRights(fds ...int) []byte {
 | 
			
		||||
	h.Level = SOL_SOCKET
 | 
			
		||||
	h.Type = SCM_RIGHTS
 | 
			
		||||
	h.SetLen(CmsgLen(datalen))
 | 
			
		||||
	data := cmsgData(h)
 | 
			
		||||
	for _, fd := range fds {
 | 
			
		||||
		*(*int32)(data) = int32(fd)
 | 
			
		||||
		data = unsafe.Pointer(uintptr(data) + 4)
 | 
			
		||||
	for i, fd := range fds {
 | 
			
		||||
		*(*int32)(h.data(4 * uintptr(i))) = int32(fd)
 | 
			
		||||
	}
 | 
			
		||||
	return b
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										38
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build aix darwin freebsd linux netbsd openbsd solaris
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"runtime"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Round the length of a raw sockaddr up to align it properly.
 | 
			
		||||
func cmsgAlignOf(salen int) int {
 | 
			
		||||
	salign := SizeofPtr
 | 
			
		||||
 | 
			
		||||
	// dragonfly needs to check ABI version at runtime, see cmsgAlignOf in
 | 
			
		||||
	// sockcmsg_dragonfly.go
 | 
			
		||||
	switch runtime.GOOS {
 | 
			
		||||
	case "aix":
 | 
			
		||||
		// There is no alignment on AIX.
 | 
			
		||||
		salign = 1
 | 
			
		||||
	case "darwin", "illumos", "solaris":
 | 
			
		||||
		// NOTE: It seems like 64-bit Darwin, Illumos and Solaris
 | 
			
		||||
		// kernels still require 32-bit aligned access to network
 | 
			
		||||
		// subsystem.
 | 
			
		||||
		if SizeofPtr == 8 {
 | 
			
		||||
			salign = 4
 | 
			
		||||
		}
 | 
			
		||||
	case "netbsd", "openbsd":
 | 
			
		||||
		// NetBSD and OpenBSD armv7 require 64-bit alignment.
 | 
			
		||||
		if runtime.GOARCH == "arm" {
 | 
			
		||||
			salign = 8
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return (salen + salign - 1) & ^(salign - 1)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/syscall.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -50,5 +50,4 @@ func BytePtrFromString(s string) (*byte, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Single-word zero for use when we need a valid pointer to 0 bytes.
 | 
			
		||||
// See mkunix.pl.
 | 
			
		||||
var _zero uintptr
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										85
									
								
								vendor/golang.org/x/sys/unix/syscall_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										85
									
								
								vendor/golang.org/x/sys/unix/syscall_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -280,8 +280,24 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
	return -1, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	getdirent(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
func Getdents(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return getdirent(fd, buf)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -334,49 +350,12 @@ func (w WaitStatus) Signal() Signal {
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) CoreDump() bool { return w&0x200 != 0 }
 | 
			
		||||
func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) TrapCause() int { return -1 }
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
 | 
			
		||||
// There is no way to create a custom fcntl and to keep //sys fcntl easily,
 | 
			
		||||
// Therefore, the programmer must call dup2 instead of fcntl in this case.
 | 
			
		||||
@@ -444,8 +423,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
//sysnb	Times(tms *Tms) (ticks uintptr, err error)
 | 
			
		||||
//sysnb	Umask(mask int) (oldmask int)
 | 
			
		||||
//sysnb	Uname(buf *Utsname) (err error)
 | 
			
		||||
//TODO umount
 | 
			
		||||
// //sys	Unmount(target string, flags int) (err error) = umount
 | 
			
		||||
//sys   Unlink(path string) (err error)
 | 
			
		||||
//sys   Unlinkat(dirfd int, path string, flags int) (err error)
 | 
			
		||||
//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
 | 
			
		||||
@@ -456,8 +433,8 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
//sys	Dup2(oldfd int, newfd int) (err error)
 | 
			
		||||
//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64
 | 
			
		||||
//sys	Fchown(fd int, uid int, gid int) (err error)
 | 
			
		||||
//sys	Fstat(fd int, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
 | 
			
		||||
//sys	fstat(fd int, stat *Stat_t) (err error)
 | 
			
		||||
//sys	fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
 | 
			
		||||
//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
@@ -466,18 +443,17 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
//sysnb	Getuid() (uid int)
 | 
			
		||||
//sys	Lchown(path string, uid int, gid int) (err error)
 | 
			
		||||
//sys	Listen(s int, n int) (err error)
 | 
			
		||||
//sys	Lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Pause() (err error)
 | 
			
		||||
//sys	Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
 | 
			
		||||
//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
 | 
			
		||||
//TODO Select
 | 
			
		||||
// //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sys	Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
 | 
			
		||||
//sysnb	Setregid(rgid int, egid int) (err error)
 | 
			
		||||
//sysnb	Setreuid(ruid int, euid int) (err error)
 | 
			
		||||
//sys	Shutdown(fd int, how int) (err error)
 | 
			
		||||
//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
 | 
			
		||||
//sys	Stat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	stat(path string, statptr *Stat_t) (err error)
 | 
			
		||||
//sys	Statfs(path string, buf *Statfs_t) (err error)
 | 
			
		||||
//sys	Truncate(path string, length int64) (err error)
 | 
			
		||||
 | 
			
		||||
@@ -493,8 +469,10 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
//sysnb	getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
 | 
			
		||||
//sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
 | 
			
		||||
//sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
 | 
			
		||||
//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
 | 
			
		||||
//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
 | 
			
		||||
 | 
			
		||||
// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used.
 | 
			
		||||
//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg
 | 
			
		||||
//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg
 | 
			
		||||
 | 
			
		||||
//sys	munmap(addr uintptr, length uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
@@ -547,3 +525,12 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 | 
			
		||||
//sys	Utime(path string, buf *Utimbuf) (err error)
 | 
			
		||||
 | 
			
		||||
//sys	Getsystemcfg(label int) (n uint64)
 | 
			
		||||
 | 
			
		||||
//sys	umount(target string) (err error)
 | 
			
		||||
func Unmount(target string, flags int) (err error) {
 | 
			
		||||
	if flags != 0 {
 | 
			
		||||
		// AIX doesn't have any flags for umount.
 | 
			
		||||
		return ENOSYS
 | 
			
		||||
	}
 | 
			
		||||
	return umount(target)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -29,6 +29,26 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) error {
 | 
			
		||||
	return fstat(fd, stat)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
 | 
			
		||||
	return fstatat(dirfd, path, stat, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) error {
 | 
			
		||||
	return lstat(path, stat)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Stat(path string, statptr *Stat_t) error {
 | 
			
		||||
	return stat(path, statptr)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										51
									
								
								vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -29,6 +29,57 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// In order to only have Timespec structure, type of Stat_t's fields
 | 
			
		||||
// Atim, Mtim and Ctim is changed from StTimespec to Timespec during
 | 
			
		||||
// ztypes generation.
 | 
			
		||||
// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an
 | 
			
		||||
// int32, so the fields' value must be modified.
 | 
			
		||||
func fixStatTimFields(stat *Stat_t) {
 | 
			
		||||
	stat.Atim.Nsec >>= 32
 | 
			
		||||
	stat.Mtim.Nsec >>= 32
 | 
			
		||||
	stat.Ctim.Nsec >>= 32
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstat(fd int, stat *Stat_t) error {
 | 
			
		||||
	err := fstat(fd, stat)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
 | 
			
		||||
	err := fstatat(dirfd, path, stat, flags)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Lstat(path string, stat *Stat_t) error {
 | 
			
		||||
	err := lstat(path, stat)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(stat)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Stat(path string, statptr *Stat_t) error {
 | 
			
		||||
	err := stat(path, statptr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fixStatTimFields(statptr)
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/golang.org/x/sys/unix/syscall_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/golang.org/x/sys/unix/syscall_bsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -63,15 +63,6 @@ func Setgroups(gids []int) (err error) {
 | 
			
		||||
	return setgroups(len(a), &a[0])
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// 64 bits should be enough. (32 bits isn't even on 386). Since the
 | 
			
		||||
	// actual system call is getdirentries64, 64 is a good guess.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
	var base = (*uintptr)(unsafe.Pointer(new(uint64)))
 | 
			
		||||
	return Getdirentries(fd, buf, base)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Wait status is 7 bits at bottom, either 0 (exited),
 | 
			
		||||
// 0x7F (stopped), or a signal number that caused an exit.
 | 
			
		||||
// The 0x80 bit is whether there was a core dump.
 | 
			
		||||
@@ -86,6 +77,7 @@ const (
 | 
			
		||||
	shift = 8
 | 
			
		||||
 | 
			
		||||
	exited  = 0
 | 
			
		||||
	killed  = 9
 | 
			
		||||
	stopped = 0x7F
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -112,6 +104,8 @@ func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }
 | 
			
		||||
 | 
			
		||||
func (w WaitStatus) StopSignal() syscall.Signal {
 | 
			
		||||
@@ -243,7 +237,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		sa.Name = string(bytes)
 | 
			
		||||
		return sa, nil
 | 
			
		||||
 | 
			
		||||
@@ -419,8 +413,6 @@ func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err e
 | 
			
		||||
	return kevent(kq, change, len(changes), event, len(events), timeout)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
 | 
			
		||||
 | 
			
		||||
// sysctlmib translates name to mib number and appends any additional args.
 | 
			
		||||
func sysctlmib(name string, args ...int) ([]_C_int, error) {
 | 
			
		||||
	// Translate name to mib number.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,go1.12,!go1.13
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	// To implement this using libSystem we'd need syscall_syscallPtr for
 | 
			
		||||
	// fdopendir. However, syscallPtr was only added in Go 1.13, so we fall
 | 
			
		||||
	// back to raw syscalls for this func on Go 1.12.
 | 
			
		||||
	var p unsafe.Pointer
 | 
			
		||||
	if len(buf) > 0 {
 | 
			
		||||
		p = unsafe.Pointer(&buf[0])
 | 
			
		||||
	} else {
 | 
			
		||||
		p = unsafe.Pointer(&_zero)
 | 
			
		||||
	}
 | 
			
		||||
	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
 | 
			
		||||
	n = int(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		return n, errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return n, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										101
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,go1.13
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "unsafe"
 | 
			
		||||
 | 
			
		||||
//sys	closedir(dir uintptr) (err error)
 | 
			
		||||
//sys	readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno)
 | 
			
		||||
 | 
			
		||||
func fdopendir(fd int) (dir uintptr, err error) {
 | 
			
		||||
	r0, _, e1 := syscall_syscallPtr(funcPC(libc_fdopendir_trampoline), uintptr(fd), 0, 0)
 | 
			
		||||
	dir = uintptr(r0)
 | 
			
		||||
	if e1 != 0 {
 | 
			
		||||
		err = errnoErr(e1)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func libc_fdopendir_trampoline()
 | 
			
		||||
 | 
			
		||||
//go:linkname libc_fdopendir libc_fdopendir
 | 
			
		||||
//go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib"
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	// Simulate Getdirentries using fdopendir/readdir_r/closedir.
 | 
			
		||||
	// We store the number of entries to skip in the seek
 | 
			
		||||
	// offset of fd. See issue #31368.
 | 
			
		||||
	// It's not the full required semantics, but should handle the case
 | 
			
		||||
	// of calling Getdirentries or ReadDirent repeatedly.
 | 
			
		||||
	// It won't handle assigning the results of lseek to *basep, or handle
 | 
			
		||||
	// the directory being edited underfoot.
 | 
			
		||||
	skip, err := Seek(fd, 0, 1 /* SEEK_CUR */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// We need to duplicate the incoming file descriptor
 | 
			
		||||
	// because the caller expects to retain control of it, but
 | 
			
		||||
	// fdopendir expects to take control of its argument.
 | 
			
		||||
	// Just Dup'ing the file descriptor is not enough, as the
 | 
			
		||||
	// result shares underlying state. Use Openat to make a really
 | 
			
		||||
	// new file descriptor referring to the same directory.
 | 
			
		||||
	fd2, err := Openat(fd, ".", O_RDONLY, 0)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	d, err := fdopendir(fd2)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		Close(fd2)
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	defer closedir(d)
 | 
			
		||||
 | 
			
		||||
	var cnt int64
 | 
			
		||||
	for {
 | 
			
		||||
		var entry Dirent
 | 
			
		||||
		var entryp *Dirent
 | 
			
		||||
		e := readdir_r(d, &entry, &entryp)
 | 
			
		||||
		if e != 0 {
 | 
			
		||||
			return n, errnoErr(e)
 | 
			
		||||
		}
 | 
			
		||||
		if entryp == nil {
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		if skip > 0 {
 | 
			
		||||
			skip--
 | 
			
		||||
			cnt++
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		reclen := int(entry.Reclen)
 | 
			
		||||
		if reclen > len(buf) {
 | 
			
		||||
			// Not enough room. Return for now.
 | 
			
		||||
			// The counter will let us know where we should start up again.
 | 
			
		||||
			// Note: this strategy for suspending in the middle and
 | 
			
		||||
			// restarting is O(n^2) in the length of the directory. Oh well.
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
		// Copy entry into return buffer.
 | 
			
		||||
		s := struct {
 | 
			
		||||
			ptr unsafe.Pointer
 | 
			
		||||
			siz int
 | 
			
		||||
			cap int
 | 
			
		||||
		}{ptr: unsafe.Pointer(&entry), siz: reclen, cap: reclen}
 | 
			
		||||
		copy(buf, *(*[]byte)(unsafe.Pointer(&s)))
 | 
			
		||||
		buf = buf[reclen:]
 | 
			
		||||
		n += reclen
 | 
			
		||||
		cnt++
 | 
			
		||||
	}
 | 
			
		||||
	// Set the seek offset of the input fd to record
 | 
			
		||||
	// how many files we've already returned.
 | 
			
		||||
	_, err = Seek(fd, cnt, 0 /* SEEK_SET */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return n, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return n, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										69
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -77,7 +77,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		||||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }
 | 
			
		||||
func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
@@ -144,6 +155,23 @@ func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (
 | 
			
		||||
 | 
			
		||||
//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	n := uintptr(SizeofClockinfo)
 | 
			
		||||
	var ci Clockinfo
 | 
			
		||||
	if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if n != SizeofClockinfo {
 | 
			
		||||
		return nil, EIO
 | 
			
		||||
	}
 | 
			
		||||
	return &ci, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb pipe() (r int, w int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
@@ -311,42 +339,7 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
//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}
 | 
			
		||||
@@ -469,7 +462,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Revoke(path string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sys	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,386,!go1.12
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
//sys  Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
 | 
			
		||||
							
								
								
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -10,6 +10,8 @@ import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
 | 
			
		||||
}
 | 
			
		||||
@@ -43,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
@@ -56,7 +62,6 @@ const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
//sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
 | 
			
		||||
//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
 | 
			
		||||
//sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
 | 
			
		||||
//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
 | 
			
		||||
//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	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,amd64,!go1.12
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
//sys  Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
 | 
			
		||||
							
								
								
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -10,6 +10,8 @@ import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: sec, Nsec: nsec}
 | 
			
		||||
}
 | 
			
		||||
@@ -43,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
@@ -56,7 +62,6 @@ const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
//sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
 | 
			
		||||
//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
 | 
			
		||||
//sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
 | 
			
		||||
//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64
 | 
			
		||||
//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	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,386,!go1.12
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return 0, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -8,6 +8,10 @@ import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
 | 
			
		||||
	return ENOTSUP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
 | 
			
		||||
}
 | 
			
		||||
@@ -41,6 +45,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
@@ -58,7 +66,3 @@ const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
//sys	Lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Stat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Statfs(path string, stat *Statfs_t) (err error)
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return 0, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build darwin,arm64,!go1.12
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return 0, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -10,6 +10,10 @@ import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
 | 
			
		||||
	return ENOTSUP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: sec, Nsec: nsec}
 | 
			
		||||
}
 | 
			
		||||
@@ -43,6 +47,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
@@ -60,7 +68,3 @@ const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
//sys	Lstat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Stat(path string, stat *Stat_t) (err error)
 | 
			
		||||
//sys	Statfs(path string, stat *Statfs_t) (err error)
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return 0, ENOSYS
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -15,6 +15,7 @@ func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err
 | 
			
		||||
func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only
 | 
			
		||||
func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
 | 
			
		||||
func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
 | 
			
		||||
func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
 | 
			
		||||
 | 
			
		||||
//go:linkname syscall_syscall syscall.syscall
 | 
			
		||||
//go:linkname syscall_syscall6 syscall.syscall6
 | 
			
		||||
@@ -22,6 +23,7 @@ func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, er
 | 
			
		||||
//go:linkname syscall_syscall9 syscall.syscall9
 | 
			
		||||
//go:linkname syscall_rawSyscall syscall.rawSyscall
 | 
			
		||||
//go:linkname syscall_rawSyscall6 syscall.rawSyscall6
 | 
			
		||||
//go:linkname syscall_syscallPtr syscall.syscallPtr
 | 
			
		||||
 | 
			
		||||
// Find the entry point for f. See comments in runtime/proc.go for the
 | 
			
		||||
// function of the same name.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -12,7 +12,25 @@
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import "unsafe"
 | 
			
		||||
import (
 | 
			
		||||
	"sync"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h
 | 
			
		||||
var (
 | 
			
		||||
	osreldateOnce sync.Once
 | 
			
		||||
	osreldate     uint32
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// First __DragonFly_version after September 2019 ABI changes
 | 
			
		||||
// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html
 | 
			
		||||
const _dragonflyABIChangeVersion = 500705
 | 
			
		||||
 | 
			
		||||
func supportsABI(ver uint32) bool {
 | 
			
		||||
	osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
 | 
			
		||||
	return osreldate >= ver
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
 | 
			
		||||
type SockaddrDatalink struct {
 | 
			
		||||
@@ -57,6 +75,22 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		||||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	namlen, ok := direntNamlen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return (16 + namlen + 1 + 7) &^ 7, true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb pipe() (r int, w int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
@@ -134,42 +168,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
//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)
 | 
			
		||||
@@ -269,6 +268,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
 | 
			
		||||
//sys	Fsync(fd int) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sys	Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	Getdtablesize() (size int)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
@@ -308,7 +308,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Revoke(path string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sysnb	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										174
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										174
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -82,6 +82,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		||||
	return buf[0 : n/siz], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
	return Pipe2(p, 0)
 | 
			
		||||
}
 | 
			
		||||
@@ -189,42 +201,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 | 
			
		||||
 | 
			
		||||
//sys   ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
//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}
 | 
			
		||||
@@ -362,7 +339,21 @@ func Getdents(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	if supportsABI(_ino64First) {
 | 
			
		||||
		return getdirentries_freebsd12(fd, buf, basep)
 | 
			
		||||
		if basep == nil || unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
			return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep)))
 | 
			
		||||
		}
 | 
			
		||||
		// The freebsd12 syscall needs a 64-bit base. On 32-bit machines
 | 
			
		||||
		// we can't just use the basep passed in. See #32498.
 | 
			
		||||
		var base uint64 = uint64(*basep)
 | 
			
		||||
		n, err = getdirentries_freebsd12(fd, buf, &base)
 | 
			
		||||
		*basep = uintptr(base)
 | 
			
		||||
		if base>>32 != 0 {
 | 
			
		||||
			// We can't stuff the base back into a uintptr, so any
 | 
			
		||||
			// future calls would be suspect. Generate an error.
 | 
			
		||||
			// EIO is allowed by getdirentries.
 | 
			
		||||
			err = EIO
 | 
			
		||||
		}
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// The old syscall entries are smaller than the new. Use 1/4 of the original
 | 
			
		||||
@@ -404,22 +395,22 @@ func roundup(x, y int) int {
 | 
			
		||||
 | 
			
		||||
func (s *Stat_t) convertFrom(old *stat_freebsd11_t) {
 | 
			
		||||
	*s = Stat_t{
 | 
			
		||||
		Dev:      uint64(old.Dev),
 | 
			
		||||
		Ino:      uint64(old.Ino),
 | 
			
		||||
		Nlink:    uint64(old.Nlink),
 | 
			
		||||
		Mode:     old.Mode,
 | 
			
		||||
		Uid:      old.Uid,
 | 
			
		||||
		Gid:      old.Gid,
 | 
			
		||||
		Rdev:     uint64(old.Rdev),
 | 
			
		||||
		Atim:     old.Atim,
 | 
			
		||||
		Mtim:     old.Mtim,
 | 
			
		||||
		Ctim:     old.Ctim,
 | 
			
		||||
		Birthtim: old.Birthtim,
 | 
			
		||||
		Size:     old.Size,
 | 
			
		||||
		Blocks:   old.Blocks,
 | 
			
		||||
		Blksize:  old.Blksize,
 | 
			
		||||
		Flags:    old.Flags,
 | 
			
		||||
		Gen:      uint64(old.Gen),
 | 
			
		||||
		Dev:     uint64(old.Dev),
 | 
			
		||||
		Ino:     uint64(old.Ino),
 | 
			
		||||
		Nlink:   uint64(old.Nlink),
 | 
			
		||||
		Mode:    old.Mode,
 | 
			
		||||
		Uid:     old.Uid,
 | 
			
		||||
		Gid:     old.Gid,
 | 
			
		||||
		Rdev:    uint64(old.Rdev),
 | 
			
		||||
		Atim:    old.Atim,
 | 
			
		||||
		Mtim:    old.Mtim,
 | 
			
		||||
		Ctim:    old.Ctim,
 | 
			
		||||
		Btim:    old.Btim,
 | 
			
		||||
		Size:    old.Size,
 | 
			
		||||
		Blocks:  old.Blocks,
 | 
			
		||||
		Blksize: old.Blksize,
 | 
			
		||||
		Flags:   old.Flags,
 | 
			
		||||
		Gen:     uint64(old.Gen),
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -471,8 +462,12 @@ func convertFromDirents11(buf []byte, old []byte) int {
 | 
			
		||||
	dstPos := 0
 | 
			
		||||
	srcPos := 0
 | 
			
		||||
	for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) {
 | 
			
		||||
		dstDirent := (*Dirent)(unsafe.Pointer(&buf[dstPos]))
 | 
			
		||||
		srcDirent := (*dirent_freebsd11)(unsafe.Pointer(&old[srcPos]))
 | 
			
		||||
		var dstDirent Dirent
 | 
			
		||||
		var srcDirent dirent_freebsd11
 | 
			
		||||
 | 
			
		||||
		// If multiple direntries are written, sometimes when we reach the final one,
 | 
			
		||||
		// we may have cap of old less than size of dirent_freebsd11.
 | 
			
		||||
		copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:])
 | 
			
		||||
 | 
			
		||||
		reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8)
 | 
			
		||||
		if dstPos+reclen > len(buf) {
 | 
			
		||||
@@ -488,6 +483,7 @@ func convertFromDirents11(buf []byte, old []byte) int {
 | 
			
		||||
		dstDirent.Pad1 = 0
 | 
			
		||||
 | 
			
		||||
		copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen])
 | 
			
		||||
		copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:])
 | 
			
		||||
		padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen]
 | 
			
		||||
		for i := range padding {
 | 
			
		||||
			padding[i] = 0
 | 
			
		||||
@@ -507,6 +503,70 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
	return sendfile(outfd, infd, offset, count)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	ptrace(request int, pid int, addr uintptr, data int) (err error)
 | 
			
		||||
 | 
			
		||||
func PtraceAttach(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_ATTACH, pid, 0, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceCont(pid int, signal int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_CONT, pid, 1, signal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceDetach(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_DETACH, pid, 1, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetFsBase(pid int, fsbase *int64) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceGetRegs(pid int, regsout *Reg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
 | 
			
		||||
	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint(countin)}
 | 
			
		||||
	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
 | 
			
		||||
	return int(ioDesc.Len), err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceLwpEvents(pid int, enable int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_LWPEVENTS, pid, 0, enable)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceLwpInfo(pid int, info uintptr) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{})))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
 | 
			
		||||
	return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceSetRegs(pid int, regs *Reg) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func PtraceSingleStep(pid int) (err error) {
 | 
			
		||||
	return ptrace(PTRACE_SINGLESTEP, pid, 1, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Exposed directly
 | 
			
		||||
 */
 | 
			
		||||
@@ -555,7 +615,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Fsync(fd int) (err error)
 | 
			
		||||
//sys	Ftruncate(fd int, length int64) (err error)
 | 
			
		||||
//sys	getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error)
 | 
			
		||||
//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error)
 | 
			
		||||
//sys	Getdtablesize() (size int)
 | 
			
		||||
//sysnb	Getegid() (egid int)
 | 
			
		||||
//sysnb	Geteuid() (uid int)
 | 
			
		||||
@@ -598,7 +658,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Revoke(path string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sysnb	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -33,6 +33,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										280
									
								
								vendor/golang.org/x/sys/unix/syscall_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										280
									
								
								vendor/golang.org/x/sys/unix/syscall_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -13,7 +13,6 @@ package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"net"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
@@ -72,6 +71,17 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlRetInt performs an ioctl operation specified by req on a device
 | 
			
		||||
// associated with opened file descriptor fd, and returns a non-negative
 | 
			
		||||
// integer that is returned by the ioctl syscall.
 | 
			
		||||
func IoctlRetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0)
 | 
			
		||||
	if err != 0 {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	return int(ret), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlSetPointerInt performs an ioctl operation which sets an
 | 
			
		||||
// integer value on fd, using the specified request number. The ioctl
 | 
			
		||||
// argument is called with a pointer to the integer value, rather than
 | 
			
		||||
@@ -81,46 +91,18 @@ func IoctlSetPointerInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(&v)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlSetRTCTime(fd int, value *RTCTime) error {
 | 
			
		||||
	err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
	runtime.KeepAlive(value)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
func IoctlGetUint32(fd int, req uint) (uint32, error) {
 | 
			
		||||
	var value uint32
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetRTCTime(fd int) (*RTCTime, error) {
 | 
			
		||||
	var value RTCTime
 | 
			
		||||
	err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
@@ -759,7 +741,7 @@ const px_proto_oe = 0
 | 
			
		||||
 | 
			
		||||
type SockaddrPPPoE struct {
 | 
			
		||||
	SID    uint16
 | 
			
		||||
	Remote net.HardwareAddr
 | 
			
		||||
	Remote []byte
 | 
			
		||||
	Dev    string
 | 
			
		||||
	raw    RawSockaddrPPPoX
 | 
			
		||||
}
 | 
			
		||||
@@ -793,6 +775,70 @@ func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
 | 
			
		||||
	return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets.
 | 
			
		||||
// For more information on TIPC, see: http://tipc.sourceforge.net/.
 | 
			
		||||
type SockaddrTIPC struct {
 | 
			
		||||
	// Scope is the publication scopes when binding service/service range.
 | 
			
		||||
	// Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE.
 | 
			
		||||
	Scope int
 | 
			
		||||
 | 
			
		||||
	// Addr is the type of address used to manipulate a socket. Addr must be
 | 
			
		||||
	// one of:
 | 
			
		||||
	//  - *TIPCSocketAddr: "id" variant in the C addr union
 | 
			
		||||
	//  - *TIPCServiceRange: "nameseq" variant in the C addr union
 | 
			
		||||
	//  - *TIPCServiceName: "name" variant in the C addr union
 | 
			
		||||
	//
 | 
			
		||||
	// If nil, EINVAL will be returned when the structure is used.
 | 
			
		||||
	Addr TIPCAddr
 | 
			
		||||
 | 
			
		||||
	raw RawSockaddrTIPC
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TIPCAddr is implemented by types that can be used as an address for
 | 
			
		||||
// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange,
 | 
			
		||||
// and *TIPCServiceName.
 | 
			
		||||
type TIPCAddr interface {
 | 
			
		||||
	tipcAddrtype() uint8
 | 
			
		||||
	tipcAddr() [12]byte
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCSocketAddr) tipcAddr() [12]byte {
 | 
			
		||||
	var out [12]byte
 | 
			
		||||
	copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:])
 | 
			
		||||
	return out
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR }
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCServiceRange) tipcAddr() [12]byte {
 | 
			
		||||
	var out [12]byte
 | 
			
		||||
	copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:])
 | 
			
		||||
	return out
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE }
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCServiceName) tipcAddr() [12]byte {
 | 
			
		||||
	var out [12]byte
 | 
			
		||||
	copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:])
 | 
			
		||||
	return out
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR }
 | 
			
		||||
 | 
			
		||||
func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
 | 
			
		||||
	if sa.Addr == nil {
 | 
			
		||||
		return nil, 0, EINVAL
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	sa.raw.Family = AF_TIPC
 | 
			
		||||
	sa.raw.Scope = int8(sa.Scope)
 | 
			
		||||
	sa.raw.Addrtype = sa.Addr.tipcAddrtype()
 | 
			
		||||
	sa.raw.Addr = sa.Addr.tipcAddr()
 | 
			
		||||
 | 
			
		||||
	return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
	switch rsa.Addr.Family {
 | 
			
		||||
	case AF_NETLINK:
 | 
			
		||||
@@ -838,7 +884,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
		for n < len(pp.Path) && pp.Path[n] != 0 {
 | 
			
		||||
			n++
 | 
			
		||||
		}
 | 
			
		||||
		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		sa.Name = string(bytes)
 | 
			
		||||
		return sa, nil
 | 
			
		||||
 | 
			
		||||
@@ -910,7 +956,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
		}
 | 
			
		||||
		sa := &SockaddrPPPoE{
 | 
			
		||||
			SID:    binary.BigEndian.Uint16(pp[6:8]),
 | 
			
		||||
			Remote: net.HardwareAddr(pp[8:14]),
 | 
			
		||||
			Remote: pp[8:14],
 | 
			
		||||
		}
 | 
			
		||||
		for i := 14; i < 14+IFNAMSIZ; i++ {
 | 
			
		||||
			if pp[i] == 0 {
 | 
			
		||||
@@ -918,6 +964,27 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return sa, nil
 | 
			
		||||
	case AF_TIPC:
 | 
			
		||||
		pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa))
 | 
			
		||||
 | 
			
		||||
		sa := &SockaddrTIPC{
 | 
			
		||||
			Scope: int(pp.Scope),
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Determine which union variant is present in pp.Addr by checking
 | 
			
		||||
		// pp.Addrtype.
 | 
			
		||||
		switch pp.Addrtype {
 | 
			
		||||
		case TIPC_SERVICE_RANGE:
 | 
			
		||||
			sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr))
 | 
			
		||||
		case TIPC_SERVICE_ADDR:
 | 
			
		||||
			sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr))
 | 
			
		||||
		case TIPC_SOCKET_ADDR:
 | 
			
		||||
			sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr))
 | 
			
		||||
		default:
 | 
			
		||||
			return nil, EINVAL
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return sa, nil
 | 
			
		||||
	}
 | 
			
		||||
	return nil, EAFNOSUPPORT
 | 
			
		||||
@@ -1155,6 +1222,34 @@ func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error
 | 
			
		||||
	return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This
 | 
			
		||||
// command limits the set of keys that can be linked to the keyring, regardless
 | 
			
		||||
// of keyring permissions. The command requires the "setattr" permission.
 | 
			
		||||
//
 | 
			
		||||
// When called with an empty keyType the command locks the keyring, preventing
 | 
			
		||||
// any further keys from being linked to the keyring.
 | 
			
		||||
//
 | 
			
		||||
// The "asymmetric" keyType defines restrictions requiring key payloads to be
 | 
			
		||||
// DER encoded X.509 certificates signed by keys in another keyring. Restrictions
 | 
			
		||||
// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted",
 | 
			
		||||
// "key_or_keyring:<key>", and "key_or_keyring:<key>:chain".
 | 
			
		||||
//
 | 
			
		||||
// As of Linux 4.12, only the "asymmetric" keyType defines type-specific
 | 
			
		||||
// restrictions.
 | 
			
		||||
//
 | 
			
		||||
// See the full documentation at:
 | 
			
		||||
// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html
 | 
			
		||||
// http://man7.org/linux/man-pages/man2/keyctl.2.html
 | 
			
		||||
func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error {
 | 
			
		||||
	if keyType == "" {
 | 
			
		||||
		return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid)
 | 
			
		||||
	}
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
 | 
			
		||||
	var msg Msghdr
 | 
			
		||||
	var rsa RawSockaddrAny
 | 
			
		||||
@@ -1398,8 +1493,12 @@ func PtraceSyscall(pid int, signal int) (err error) {
 | 
			
		||||
 | 
			
		||||
func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }
 | 
			
		||||
 | 
			
		||||
//sys	reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)
 | 
			
		||||
@@ -1408,8 +1507,20 @@ func Reboot(cmd int) (err error) {
 | 
			
		||||
	return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	return Getdents(fd, buf)
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	mount(source string, target string, fstype string, flags uintptr, data *byte) (err error)
 | 
			
		||||
@@ -1444,6 +1555,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Acct(path string) (err error)
 | 
			
		||||
//sys	AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)
 | 
			
		||||
//sys	Adjtimex(buf *Timex) (state int, err error)
 | 
			
		||||
//sys	Capget(hdr *CapUserHeader, data *CapUserData) (err error)
 | 
			
		||||
//sys	Capset(hdr *CapUserHeader, data *CapUserData) (err error)
 | 
			
		||||
//sys	Chdir(path string) (err error)
 | 
			
		||||
//sys	Chroot(path string) (err error)
 | 
			
		||||
//sys	ClockGetres(clockid int32, res *Timespec) (err error)
 | 
			
		||||
@@ -1531,9 +1644,13 @@ func Setgid(uid int) (err error) {
 | 
			
		||||
	return EOPNOTSUPP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
 | 
			
		||||
	return signalfd(fd, sigmask, _C__NSIG/8, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	Setpriority(which int, who int, prio int) (err error)
 | 
			
		||||
//sys	Setxattr(path string, attr string, data []byte, flags int) (err error)
 | 
			
		||||
//sys	Signalfd(fd int, mask *Sigset_t, flags int) = SYS_SIGNALFD4
 | 
			
		||||
//sys	signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4
 | 
			
		||||
//sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
 | 
			
		||||
//sys	Sync()
 | 
			
		||||
//sys	Syncfs(fd int) (err error)
 | 
			
		||||
@@ -1662,6 +1779,93 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		||||
	return EACCES
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
 | 
			
		||||
//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
 | 
			
		||||
 | 
			
		||||
// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
 | 
			
		||||
// originally tried to generate it via unix/linux/types.go with "type
 | 
			
		||||
// fileHandle C.struct_file_handle" but that generated empty structs
 | 
			
		||||
// for mips64 and mips64le. Instead, hard code it for now (it's the
 | 
			
		||||
// same everywhere else) until the mips64 generator issue is fixed.
 | 
			
		||||
type fileHandle struct {
 | 
			
		||||
	Bytes uint32
 | 
			
		||||
	Type  int32
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FileHandle represents the C struct file_handle used by
 | 
			
		||||
// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
 | 
			
		||||
// OpenByHandleAt).
 | 
			
		||||
type FileHandle struct {
 | 
			
		||||
	*fileHandle
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewFileHandle constructs a FileHandle.
 | 
			
		||||
func NewFileHandle(handleType int32, handle []byte) FileHandle {
 | 
			
		||||
	const hdrSize = unsafe.Sizeof(fileHandle{})
 | 
			
		||||
	buf := make([]byte, hdrSize+uintptr(len(handle)))
 | 
			
		||||
	copy(buf[hdrSize:], handle)
 | 
			
		||||
	fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
 | 
			
		||||
	fh.Type = handleType
 | 
			
		||||
	fh.Bytes = uint32(len(handle))
 | 
			
		||||
	return FileHandle{fh}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (fh *FileHandle) Size() int   { return int(fh.fileHandle.Bytes) }
 | 
			
		||||
func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
 | 
			
		||||
func (fh *FileHandle) Bytes() []byte {
 | 
			
		||||
	n := fh.Size()
 | 
			
		||||
	if n == 0 {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NameToHandleAt wraps the name_to_handle_at system call; it obtains
 | 
			
		||||
// a handle for a path name.
 | 
			
		||||
func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
 | 
			
		||||
	var mid _C_int
 | 
			
		||||
	// Try first with a small buffer, assuming the handle will
 | 
			
		||||
	// only be 32 bytes.
 | 
			
		||||
	size := uint32(32 + unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
	didResize := false
 | 
			
		||||
	for {
 | 
			
		||||
		buf := make([]byte, size)
 | 
			
		||||
		fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
 | 
			
		||||
		fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
		err = nameToHandleAt(dirfd, path, fh, &mid, flags)
 | 
			
		||||
		if err == EOVERFLOW {
 | 
			
		||||
			if didResize {
 | 
			
		||||
				// We shouldn't need to resize more than once
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
			didResize = true
 | 
			
		||||
			size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		return FileHandle{fh}, int(mid), nil
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
 | 
			
		||||
// file via a handle as previously returned by NameToHandleAt.
 | 
			
		||||
func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
 | 
			
		||||
	return openByHandleAt(mountFD, handle.fileHandle, flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Klogset wraps the sys_syslog system call; it sets console_loglevel to
 | 
			
		||||
// the value specified by arg and passes a dummy pointer to bufp.
 | 
			
		||||
func Klogset(typ int, arg int) (err error) {
 | 
			
		||||
	var p unsafe.Pointer
 | 
			
		||||
	_, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg))
 | 
			
		||||
	if errno != 0 {
 | 
			
		||||
		return errnoErr(errno)
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Unimplemented
 | 
			
		||||
 */
 | 
			
		||||
@@ -1669,8 +1873,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 | 
			
		||||
// Alarm
 | 
			
		||||
// ArchPrctl
 | 
			
		||||
// Brk
 | 
			
		||||
// Capget
 | 
			
		||||
// Capset
 | 
			
		||||
// ClockNanosleep
 | 
			
		||||
// ClockSettime
 | 
			
		||||
// Clone
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -372,6 +372,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -163,6 +163,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -252,6 +252,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
@@ -272,3 +276,16 @@ func SyncFileRange(fd int, off int64, n int64, flags int) error {
 | 
			
		||||
	// order of their arguments.
 | 
			
		||||
	return armSyncFileRange(fd, flags, off, n)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
 | 
			
		||||
 | 
			
		||||
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
 | 
			
		||||
	cmdlineLen := len(cmdline)
 | 
			
		||||
	if cmdlineLen > 0 {
 | 
			
		||||
		// Account for the additional NULL byte added by
 | 
			
		||||
		// BytePtrFromString in kexecFileLoad. The kexec_file_load
 | 
			
		||||
		// syscall expects a NULL-terminated string.
 | 
			
		||||
		cmdlineLen++
 | 
			
		||||
	}
 | 
			
		||||
	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -180,6 +180,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -208,6 +208,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -220,6 +220,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -91,6 +91,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -179,6 +179,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -120,6 +120,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -107,6 +107,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -94,6 +94,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		||||
	return mib, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -120,9 +132,30 @@ func Pipe(p []int) (err error) {
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return getdents(fd, buf)
 | 
			
		||||
	n, err = Getdents(fd, buf)
 | 
			
		||||
	if err != nil || basep == nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var off int64
 | 
			
		||||
	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		*basep = ^uintptr(0)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	*basep = uintptr(off)
 | 
			
		||||
	if unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if off>>32 != 0 {
 | 
			
		||||
		// We can't stuff the offset back into a uintptr, so any
 | 
			
		||||
		// future calls would be suspect. Generate an error.
 | 
			
		||||
		// EIO is allowed by getdirentries.
 | 
			
		||||
		err = EIO
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ImplementsGetwd = true
 | 
			
		||||
@@ -154,42 +187,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
//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
 | 
			
		||||
@@ -332,7 +330,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Revoke(path string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sysnb	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										76
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -43,6 +43,18 @@ func nametomib(name string) (mib []_C_int, err error) {
 | 
			
		||||
	return nil, EINVAL
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SysctlClockinfo(name string) (*Clockinfo, error) {
 | 
			
		||||
	mib, err := sysctlmib(name)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -89,9 +101,30 @@ func Pipe(p []int) (err error) {
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sys getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
//sys Getdents(fd int, buf []byte) (n int, err error)
 | 
			
		||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 | 
			
		||||
	return getdents(fd, buf)
 | 
			
		||||
	n, err = Getdents(fd, buf)
 | 
			
		||||
	if err != nil || basep == nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var off int64
 | 
			
		||||
	off, err = Seek(fd, 0, 1 /* SEEK_CUR */)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		*basep = ^uintptr(0)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	*basep = uintptr(off)
 | 
			
		||||
	if unsafe.Sizeof(*basep) == 8 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if off>>32 != 0 {
 | 
			
		||||
		// We can't stuff the offset back into a uintptr, so any
 | 
			
		||||
		// future calls would be suspect. Generate an error.
 | 
			
		||||
		// EIO was allowed by getdirentries.
 | 
			
		||||
		err = EIO
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ImplementsGetwd = true
 | 
			
		||||
@@ -145,42 +178,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
// ioctl itself should not be exposed directly, but additional get/set
 | 
			
		||||
// functions for specific types are permissible.
 | 
			
		||||
 | 
			
		||||
// IoctlSetInt performs an ioctl operation which sets an integer value
 | 
			
		||||
// on fd, using the specified request number.
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) error {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IoctlGetInt performs an ioctl operation which gets an integer value
 | 
			
		||||
// from fd, using the specified request number.
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
//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)
 | 
			
		||||
 | 
			
		||||
@@ -307,7 +305,7 @@ func Uname(uname *Utsname) error {
 | 
			
		||||
//sys	Revoke(path string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sysnb	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,6 +28,10 @@ func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										41
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
// Copyright 2019 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build arm64,openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
func setTimespec(sec, nsec int64) Timespec {
 | 
			
		||||
	return Timespec{Sec: sec, Nsec: nsec}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func setTimeval(sec, usec int64) Timeval {
 | 
			
		||||
	return Timeval{Sec: sec, Usec: usec}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetKevent(k *Kevent_t, fd, mode, flags int) {
 | 
			
		||||
	k.Ident = uint64(fd)
 | 
			
		||||
	k.Filter = int16(mode)
 | 
			
		||||
	k.Flags = uint16(flags)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (iov *Iovec) SetLen(length int) {
 | 
			
		||||
	iov.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetControllen(length int) {
 | 
			
		||||
	msghdr.Controllen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
 | 
			
		||||
// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
 | 
			
		||||
const SYS___SYSCTL = SYS_SYSCTL
 | 
			
		||||
							
								
								
									
										51
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -35,6 +35,22 @@ type SockaddrDatalink struct {
 | 
			
		||||
	raw    RawSockaddrDatalink
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntIno(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntReclen(buf []byte) (uint64, bool) {
 | 
			
		||||
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func direntNamlen(buf []byte) (uint64, bool) {
 | 
			
		||||
	reclen, ok := direntReclen(buf)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return 0, false
 | 
			
		||||
	}
 | 
			
		||||
	return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//sysnb	pipe(p *[2]_C_int) (n int, err error)
 | 
			
		||||
 | 
			
		||||
func Pipe(p []int) (err error) {
 | 
			
		||||
@@ -189,6 +205,7 @@ func Setgroups(gids []int) (err error) {
 | 
			
		||||
	return setgroups(len(a), &a[0])
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ReadDirent reads directory entries from fd and writes them into buf.
 | 
			
		||||
func ReadDirent(fd int, buf []byte) (n int, err error) {
 | 
			
		||||
	// Final argument is (basep *uintptr) and the syscall doesn't take nil.
 | 
			
		||||
	// TODO(rsc): Can we use a single global basep for all calls?
 | 
			
		||||
@@ -374,7 +391,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 | 
			
		||||
		for n < len(pp.Path) && pp.Path[n] != 0 {
 | 
			
		||||
			n++
 | 
			
		||||
		}
 | 
			
		||||
		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
 | 
			
		||||
		sa.Name = string(bytes)
 | 
			
		||||
		return sa, nil
 | 
			
		||||
 | 
			
		||||
@@ -536,40 +553,10 @@ func Minor(dev uint64) uint32 {
 | 
			
		||||
 | 
			
		||||
//sys	ioctl(fd int, req uint, arg uintptr) (err error)
 | 
			
		||||
 | 
			
		||||
func IoctlSetInt(fd int, req uint, value int) (err error) {
 | 
			
		||||
	return ioctl(fd, req, uintptr(value))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetWinsize(fd int, req uint, value *Winsize) (err error) {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ioctlSetTermios(fd int, req uint, value *Termios) (err error) {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlSetTermio(fd int, req uint, value *Termio) (err error) {
 | 
			
		||||
	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetInt(fd int, req uint) (int, error) {
 | 
			
		||||
	var value int
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
 | 
			
		||||
	var value Winsize
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 | 
			
		||||
	var value Termios
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
	return &value, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IoctlGetTermio(fd int, req uint) (*Termio, error) {
 | 
			
		||||
	var value Termio
 | 
			
		||||
	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
 | 
			
		||||
@@ -662,7 +649,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 | 
			
		||||
//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
 | 
			
		||||
//sys	Rmdir(path string) (err error)
 | 
			
		||||
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek
 | 
			
		||||
//sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
 | 
			
		||||
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
 | 
			
		||||
//sysnb	Setegid(egid int) (err error)
 | 
			
		||||
//sysnb	Seteuid(euid int) (err error)
 | 
			
		||||
//sysnb	Setgid(gid int) (err error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -18,6 +18,10 @@ func (iov *Iovec) SetLen(length int) {
 | 
			
		||||
	iov.Len = uint64(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (msghdr *Msghdr) SetIovlen(length int) {
 | 
			
		||||
	msghdr.Iovlen = int32(length)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cmsg *Cmsghdr) SetLen(length int) {
 | 
			
		||||
	cmsg.Len = uint32(length)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/golang.org/x/sys/unix/syscall_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -294,6 +294,13 @@ func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
 | 
			
		||||
	return &tv, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
 | 
			
		||||
	var n uint64
 | 
			
		||||
	vallen := _Socklen(8)
 | 
			
		||||
	err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
 | 
			
		||||
	return n, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
 | 
			
		||||
	var rsa RawSockaddrAny
 | 
			
		||||
	var len _Socklen = SizeofSockaddrAny
 | 
			
		||||
@@ -344,13 +351,21 @@ func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptString(fd, level, opt int, s string) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s)))
 | 
			
		||||
	var p unsafe.Pointer
 | 
			
		||||
	if len(s) > 0 {
 | 
			
		||||
		p = unsafe.Pointer(&[]byte(s)[0])
 | 
			
		||||
	}
 | 
			
		||||
	return setsockopt(fd, level, opt, p, uintptr(len(s)))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
 | 
			
		||||
	return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Socket(domain, typ, proto int) (fd int, err error) {
 | 
			
		||||
	if domain == AF_INET6 && SocketDisableIPv6 {
 | 
			
		||||
		return -1, EAFNOSUPPORT
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								vendor/golang.org/x/sys/unix/types_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/golang.org/x/sys/unix/types_aix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -87,8 +87,6 @@ type Mode_t C.mode_t
 | 
			
		||||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type StTimespec C.struct_st_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
type Timeval32 C.struct_timeval32
 | 
			
		||||
@@ -133,6 +131,8 @@ type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddrDatalink C.struct_sockaddr_dl
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
@@ -156,17 +156,18 @@ type Linger C.struct_linger
 | 
			
		||||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny   = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix  = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofLinger        = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq        = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq      = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofIPv6MTUInfo   = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofMsghdr        = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr       = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofICMPv6Filter  = C.sizeof_struct_icmp6_filter
 | 
			
		||||
	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny      = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
 | 
			
		||||
	SizeofLinger           = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq           = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofMsghdr           = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/golang.org/x/sys/unix/types_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/golang.org/x/sys/unix/types_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -275,3 +275,9 @@ const (
 | 
			
		||||
// uname
 | 
			
		||||
 | 
			
		||||
type Utsname C.struct_utsname
 | 
			
		||||
 | 
			
		||||
// Clockinfo
 | 
			
		||||
 | 
			
		||||
const SizeofClockinfo = C.sizeof_struct_clockinfo
 | 
			
		||||
 | 
			
		||||
type Clockinfo C.struct_clockinfo
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										50
									
								
								vendor/golang.org/x/sys/unix/types_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								vendor/golang.org/x/sys/unix/types_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -243,11 +243,55 @@ const (
 | 
			
		||||
// Ptrace requests
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PTRACE_TRACEME = C.PT_TRACE_ME
 | 
			
		||||
	PTRACE_CONT    = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_KILL    = C.PT_KILL
 | 
			
		||||
	PTRACE_ATTACH     = C.PT_ATTACH
 | 
			
		||||
	PTRACE_CONT       = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_DETACH     = C.PT_DETACH
 | 
			
		||||
	PTRACE_GETFPREGS  = C.PT_GETFPREGS
 | 
			
		||||
	PTRACE_GETFSBASE  = C.PT_GETFSBASE
 | 
			
		||||
	PTRACE_GETLWPLIST = C.PT_GETLWPLIST
 | 
			
		||||
	PTRACE_GETNUMLWPS = C.PT_GETNUMLWPS
 | 
			
		||||
	PTRACE_GETREGS    = C.PT_GETREGS
 | 
			
		||||
	PTRACE_GETXSTATE  = C.PT_GETXSTATE
 | 
			
		||||
	PTRACE_IO         = C.PT_IO
 | 
			
		||||
	PTRACE_KILL       = C.PT_KILL
 | 
			
		||||
	PTRACE_LWPEVENTS  = C.PT_LWP_EVENTS
 | 
			
		||||
	PTRACE_LWPINFO    = C.PT_LWPINFO
 | 
			
		||||
	PTRACE_SETFPREGS  = C.PT_SETFPREGS
 | 
			
		||||
	PTRACE_SETREGS    = C.PT_SETREGS
 | 
			
		||||
	PTRACE_SINGLESTEP = C.PT_STEP
 | 
			
		||||
	PTRACE_TRACEME    = C.PT_TRACE_ME
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PIOD_READ_D  = C.PIOD_READ_D
 | 
			
		||||
	PIOD_WRITE_D = C.PIOD_WRITE_D
 | 
			
		||||
	PIOD_READ_I  = C.PIOD_READ_I
 | 
			
		||||
	PIOD_WRITE_I = C.PIOD_WRITE_I
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PL_FLAG_BORN   = C.PL_FLAG_BORN
 | 
			
		||||
	PL_FLAG_EXITED = C.PL_FLAG_EXITED
 | 
			
		||||
	PL_FLAG_SI     = C.PL_FLAG_SI
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	TRAP_BRKPT = C.TRAP_BRKPT
 | 
			
		||||
	TRAP_TRACE = C.TRAP_TRACE
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo
 | 
			
		||||
 | 
			
		||||
type __Siginfo C.struct___siginfo
 | 
			
		||||
 | 
			
		||||
type Sigset_t C.sigset_t
 | 
			
		||||
 | 
			
		||||
type Reg C.struct_reg
 | 
			
		||||
 | 
			
		||||
type FpReg C.struct_fpreg
 | 
			
		||||
 | 
			
		||||
type PtraceIoDesc C.struct_ptrace_io_desc
 | 
			
		||||
 | 
			
		||||
// Events (kqueue, kevent)
 | 
			
		||||
 | 
			
		||||
type Kevent_t C.struct_kevent_freebsd11
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/types_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/types_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -254,6 +254,7 @@ type Ptmget C.struct_ptmget
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/types_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/types_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -241,6 +241,7 @@ type Winsize C.struct_winsize
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,6 @@
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build openbsd
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -459,6 +459,15 @@ const (
 | 
			
		||||
	MAP_SHARED                    = 0x1
 | 
			
		||||
	MAP_TYPE                      = 0xf0
 | 
			
		||||
	MAP_VARIABLE                  = 0x0
 | 
			
		||||
	MCAST_BLOCK_SOURCE            = 0x40
 | 
			
		||||
	MCAST_EXCLUDE                 = 0x2
 | 
			
		||||
	MCAST_INCLUDE                 = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP              = 0x3e
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP       = 0x42
 | 
			
		||||
	MCAST_LEAVE_GROUP             = 0x3f
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP      = 0x43
 | 
			
		||||
	MCAST_SOURCE_FILTER           = 0x49
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE          = 0x41
 | 
			
		||||
	MCL_CURRENT                   = 0x100
 | 
			
		||||
	MCL_FUTURE                    = 0x200
 | 
			
		||||
	MSG_ANY                       = 0x4
 | 
			
		||||
@@ -483,6 +492,7 @@ const (
 | 
			
		||||
	MS_INVALIDATE                 = 0x40
 | 
			
		||||
	MS_PER_SEC                    = 0x3e8
 | 
			
		||||
	MS_SYNC                       = 0x20
 | 
			
		||||
	NFDBITS                       = 0x20
 | 
			
		||||
	NL0                           = 0x0
 | 
			
		||||
	NL1                           = 0x4000
 | 
			
		||||
	NL2                           = 0x8000
 | 
			
		||||
@@ -688,7 +698,7 @@ const (
 | 
			
		||||
	SIOCGHIWAT                    = 0x40047301
 | 
			
		||||
	SIOCGIFADDR                   = -0x3fd796df
 | 
			
		||||
	SIOCGIFADDRS                  = 0x2000698c
 | 
			
		||||
	SIOCGIFBAUDRATE               = -0x3fd79693
 | 
			
		||||
	SIOCGIFBAUDRATE               = -0x3fdf9669
 | 
			
		||||
	SIOCGIFBRDADDR                = -0x3fd796dd
 | 
			
		||||
	SIOCGIFCONF                   = -0x3ff796bb
 | 
			
		||||
	SIOCGIFCONFGLOB               = -0x3ff79670
 | 
			
		||||
@@ -926,6 +936,8 @@ const (
 | 
			
		||||
	TCSETSF                       = 0x5404
 | 
			
		||||
	TCSETSW                       = 0x5403
 | 
			
		||||
	TCXONC                        = 0x540b
 | 
			
		||||
	TIMER_ABSTIME                 = 0x3e7
 | 
			
		||||
	TIMER_MAX                     = 0x20
 | 
			
		||||
	TIOC                          = 0x5400
 | 
			
		||||
	TIOCCBRK                      = 0x2000747a
 | 
			
		||||
	TIOCCDTR                      = 0x20007478
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
// +build ppc64,aix
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- -maix64 _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
@@ -459,6 +459,15 @@ const (
 | 
			
		||||
	MAP_SHARED                    = 0x1
 | 
			
		||||
	MAP_TYPE                      = 0xf0
 | 
			
		||||
	MAP_VARIABLE                  = 0x0
 | 
			
		||||
	MCAST_BLOCK_SOURCE            = 0x40
 | 
			
		||||
	MCAST_EXCLUDE                 = 0x2
 | 
			
		||||
	MCAST_INCLUDE                 = 0x1
 | 
			
		||||
	MCAST_JOIN_GROUP              = 0x3e
 | 
			
		||||
	MCAST_JOIN_SOURCE_GROUP       = 0x42
 | 
			
		||||
	MCAST_LEAVE_GROUP             = 0x3f
 | 
			
		||||
	MCAST_LEAVE_SOURCE_GROUP      = 0x43
 | 
			
		||||
	MCAST_SOURCE_FILTER           = 0x49
 | 
			
		||||
	MCAST_UNBLOCK_SOURCE          = 0x41
 | 
			
		||||
	MCL_CURRENT                   = 0x100
 | 
			
		||||
	MCL_FUTURE                    = 0x200
 | 
			
		||||
	MSG_ANY                       = 0x4
 | 
			
		||||
@@ -483,6 +492,7 @@ const (
 | 
			
		||||
	MS_INVALIDATE                 = 0x40
 | 
			
		||||
	MS_PER_SEC                    = 0x3e8
 | 
			
		||||
	MS_SYNC                       = 0x20
 | 
			
		||||
	NFDBITS                       = 0x40
 | 
			
		||||
	NL0                           = 0x0
 | 
			
		||||
	NL1                           = 0x4000
 | 
			
		||||
	NL2                           = 0x8000
 | 
			
		||||
@@ -688,7 +698,7 @@ const (
 | 
			
		||||
	SIOCGHIWAT                    = 0x40047301
 | 
			
		||||
	SIOCGIFADDR                   = -0x3fd796df
 | 
			
		||||
	SIOCGIFADDRS                  = 0x2000698c
 | 
			
		||||
	SIOCGIFBAUDRATE               = -0x3fd79693
 | 
			
		||||
	SIOCGIFBAUDRATE               = -0x3fdf9669
 | 
			
		||||
	SIOCGIFBRDADDR                = -0x3fd796dd
 | 
			
		||||
	SIOCGIFCONF                   = -0x3fef96bb
 | 
			
		||||
	SIOCGIFCONFGLOB               = -0x3fef9670
 | 
			
		||||
@@ -926,6 +936,8 @@ const (
 | 
			
		||||
	TCSETSF                       = 0x5404
 | 
			
		||||
	TCSETSW                       = 0x5403
 | 
			
		||||
	TCXONC                        = 0x540b
 | 
			
		||||
	TIMER_ABSTIME                 = 0x3e7
 | 
			
		||||
	TIMER_MAX                     = 0x20
 | 
			
		||||
	TIOC                          = 0x5400
 | 
			
		||||
	TIOCCBRK                      = 0x2000747a
 | 
			
		||||
	TIOCCDTR                      = 0x20007478
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
// +build 386,darwin
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- -m32 _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
@@ -980,6 +980,7 @@ const (
 | 
			
		||||
	NET_RT_MAXID                      = 0xa
 | 
			
		||||
	NET_RT_STAT                       = 0x4
 | 
			
		||||
	NET_RT_TRASH                      = 0x5
 | 
			
		||||
	NFDBITS                           = 0x20
 | 
			
		||||
	NL0                               = 0x0
 | 
			
		||||
	NL1                               = 0x100
 | 
			
		||||
	NL2                               = 0x200
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
// +build amd64,darwin
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- -m64 _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
@@ -980,6 +980,7 @@ const (
 | 
			
		||||
	NET_RT_MAXID                      = 0xa
 | 
			
		||||
	NET_RT_STAT                       = 0x4
 | 
			
		||||
	NET_RT_TRASH                      = 0x5
 | 
			
		||||
	NFDBITS                           = 0x20
 | 
			
		||||
	NL0                               = 0x0
 | 
			
		||||
	NL1                               = 0x100
 | 
			
		||||
	NL2                               = 0x200
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
// +build arm,darwin
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
@@ -980,6 +980,7 @@ const (
 | 
			
		||||
	NET_RT_MAXID                      = 0xa
 | 
			
		||||
	NET_RT_STAT                       = 0x4
 | 
			
		||||
	NET_RT_TRASH                      = 0x5
 | 
			
		||||
	NFDBITS                           = 0x20
 | 
			
		||||
	NL0                               = 0x0
 | 
			
		||||
	NL1                               = 0x100
 | 
			
		||||
	NL2                               = 0x200
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
// +build arm64,darwin
 | 
			
		||||
 | 
			
		||||
// Created by cgo -godefs - DO NOT EDIT
 | 
			
		||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
 | 
			
		||||
// cgo -godefs -- -m64 _const.go
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
@@ -980,6 +980,7 @@ const (
 | 
			
		||||
	NET_RT_MAXID                      = 0xa
 | 
			
		||||
	NET_RT_STAT                       = 0x4
 | 
			
		||||
	NET_RT_TRASH                      = 0x5
 | 
			
		||||
	NFDBITS                           = 0x20
 | 
			
		||||
	NL0                               = 0x0
 | 
			
		||||
	NL1                               = 0x100
 | 
			
		||||
	NL2                               = 0x200
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -938,6 +938,7 @@ const (
 | 
			
		||||
	NET_RT_FLAGS                      = 0x2
 | 
			
		||||
	NET_RT_IFLIST                     = 0x3
 | 
			
		||||
	NET_RT_MAXID                      = 0x4
 | 
			
		||||
	NFDBITS                           = 0x40
 | 
			
		||||
	NOFLSH                            = 0x80000000
 | 
			
		||||
	NOKERNINFO                        = 0x2000000
 | 
			
		||||
	NOTE_ATTRIB                       = 0x8
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user