Files
.github
alerting
client
config
core
docs
example
jsonpath
k8s
k8stest
metric
pattern
security
static
vendor
cloud.google.com
github.com
golang.org
x
crypto
net
oauth2
sys
internal
unix
.gitignore
README.md
affinity_linux.go
aliases.go
asm_aix_ppc64.s
asm_darwin_386.s
asm_darwin_amd64.s
asm_darwin_arm.s
asm_darwin_arm64.s
asm_dragonfly_amd64.s
asm_freebsd_386.s
asm_freebsd_amd64.s
asm_freebsd_arm.s
asm_freebsd_arm64.s
asm_linux_386.s
asm_linux_amd64.s
asm_linux_arm.s
asm_linux_arm64.s
asm_linux_mips64x.s
asm_linux_mipsx.s
asm_linux_ppc64x.s
asm_linux_riscv64.s
asm_linux_s390x.s
asm_netbsd_386.s
asm_netbsd_amd64.s
asm_netbsd_arm.s
asm_netbsd_arm64.s
asm_openbsd_386.s
asm_openbsd_amd64.s
asm_openbsd_arm.s
asm_openbsd_arm64.s
asm_openbsd_mips64.s
asm_solaris_amd64.s
bluetooth_linux.go
cap_freebsd.go
constants.go
dev_aix_ppc.go
dev_aix_ppc64.go
dev_darwin.go
dev_dragonfly.go
dev_freebsd.go
dev_linux.go
dev_netbsd.go
dev_openbsd.go
dirent.go
endian_big.go
endian_little.go
env_unix.go
errors_freebsd_386.go
errors_freebsd_amd64.go
errors_freebsd_arm.go
errors_freebsd_arm64.go
fcntl.go
fcntl_darwin.go
fcntl_linux_32bit.go
fdset.go
gccgo.go
gccgo_c.c
gccgo_linux_amd64.go
ioctl.go
mkall.sh
mkerrors.sh
pagesize_unix.go
pledge_openbsd.go
race.go
race0.go
readdirent_getdents.go
readdirent_getdirentries.go
sockcmsg_dragonfly.go
sockcmsg_linux.go
sockcmsg_unix.go
sockcmsg_unix_other.go
str.go
syscall.go
syscall_aix.go
syscall_aix_ppc.go
syscall_aix_ppc64.go
syscall_bsd.go
syscall_darwin.1_12.go
syscall_darwin.1_13.go
syscall_darwin.go
syscall_darwin_386.go
syscall_darwin_amd64.go
syscall_darwin_arm.go
syscall_darwin_arm64.go
syscall_darwin_libSystem.go
syscall_dragonfly.go
syscall_dragonfly_amd64.go
syscall_freebsd.go
syscall_freebsd_386.go
syscall_freebsd_amd64.go
syscall_freebsd_arm.go
syscall_freebsd_arm64.go
syscall_illumos.go
syscall_linux.go
syscall_linux_386.go
syscall_linux_amd64.go
syscall_linux_amd64_gc.go
syscall_linux_arm.go
syscall_linux_arm64.go
syscall_linux_gc.go
syscall_linux_gc_386.go
syscall_linux_gc_arm.go
syscall_linux_gccgo_386.go
syscall_linux_gccgo_arm.go
syscall_linux_mips64x.go
syscall_linux_mipsx.go
syscall_linux_ppc64x.go
syscall_linux_riscv64.go
syscall_linux_s390x.go
syscall_linux_sparc64.go
syscall_netbsd.go
syscall_netbsd_386.go
syscall_netbsd_amd64.go
syscall_netbsd_arm.go
syscall_netbsd_arm64.go
syscall_openbsd.go
syscall_openbsd_386.go
syscall_openbsd_amd64.go
syscall_openbsd_arm.go
syscall_openbsd_arm64.go
syscall_openbsd_mips64.go
syscall_solaris.go
syscall_solaris_amd64.go
syscall_unix.go
syscall_unix_gc.go
syscall_unix_gc_ppc64x.go
timestruct.go
unveil_openbsd.go
xattr_bsd.go
zerrors_aix_ppc.go
zerrors_aix_ppc64.go
zerrors_darwin_386.go
zerrors_darwin_amd64.go
zerrors_darwin_arm.go
zerrors_darwin_arm64.go
zerrors_dragonfly_amd64.go
zerrors_freebsd_386.go
zerrors_freebsd_amd64.go
zerrors_freebsd_arm.go
zerrors_freebsd_arm64.go
zerrors_linux.go
zerrors_linux_386.go
zerrors_linux_amd64.go
zerrors_linux_arm.go
zerrors_linux_arm64.go
zerrors_linux_mips.go
zerrors_linux_mips64.go
zerrors_linux_mips64le.go
zerrors_linux_mipsle.go
zerrors_linux_ppc64.go
zerrors_linux_ppc64le.go
zerrors_linux_riscv64.go
zerrors_linux_s390x.go
zerrors_linux_sparc64.go
zerrors_netbsd_386.go
zerrors_netbsd_amd64.go
zerrors_netbsd_arm.go
zerrors_netbsd_arm64.go
zerrors_openbsd_386.go
zerrors_openbsd_amd64.go
zerrors_openbsd_arm.go
zerrors_openbsd_arm64.go
zerrors_openbsd_mips64.go
zerrors_solaris_amd64.go
zptrace_armnn_linux.go
zptrace_linux_arm64.go
zptrace_mipsnn_linux.go
zptrace_mipsnnle_linux.go
zptrace_x86_linux.go
zsyscall_aix_ppc.go
zsyscall_aix_ppc64.go
zsyscall_aix_ppc64_gc.go
zsyscall_aix_ppc64_gccgo.go
zsyscall_darwin_386.1_13.go
zsyscall_darwin_386.1_13.s
zsyscall_darwin_386.go
zsyscall_darwin_386.s
zsyscall_darwin_amd64.1_13.go
zsyscall_darwin_amd64.1_13.s
zsyscall_darwin_amd64.go
zsyscall_darwin_amd64.s
zsyscall_darwin_arm.1_13.go
zsyscall_darwin_arm.1_13.s
zsyscall_darwin_arm.go
zsyscall_darwin_arm.s
zsyscall_darwin_arm64.1_13.go
zsyscall_darwin_arm64.1_13.s
zsyscall_darwin_arm64.go
zsyscall_darwin_arm64.s
zsyscall_dragonfly_amd64.go
zsyscall_freebsd_386.go
zsyscall_freebsd_amd64.go
zsyscall_freebsd_arm.go
zsyscall_freebsd_arm64.go
zsyscall_illumos_amd64.go
zsyscall_linux.go
zsyscall_linux_386.go
zsyscall_linux_amd64.go
zsyscall_linux_arm.go
zsyscall_linux_arm64.go
zsyscall_linux_mips.go
zsyscall_linux_mips64.go
zsyscall_linux_mips64le.go
zsyscall_linux_mipsle.go
zsyscall_linux_ppc64.go
zsyscall_linux_ppc64le.go
zsyscall_linux_riscv64.go
zsyscall_linux_s390x.go
zsyscall_linux_sparc64.go
zsyscall_netbsd_386.go
zsyscall_netbsd_amd64.go
zsyscall_netbsd_arm.go
zsyscall_netbsd_arm64.go
zsyscall_openbsd_386.go
zsyscall_openbsd_amd64.go
zsyscall_openbsd_arm.go
zsyscall_openbsd_arm64.go
zsyscall_openbsd_mips64.go
zsyscall_solaris_amd64.go
zsysctl_openbsd_386.go
zsysctl_openbsd_amd64.go
zsysctl_openbsd_arm.go
zsysctl_openbsd_arm64.go
zsysctl_openbsd_mips64.go
zsysnum_dragonfly_amd64.go
zsysnum_freebsd_386.go
zsysnum_freebsd_amd64.go
zsysnum_freebsd_arm.go
zsysnum_freebsd_arm64.go
zsysnum_linux_386.go
zsysnum_linux_amd64.go
zsysnum_linux_arm.go
zsysnum_linux_arm64.go
zsysnum_linux_mips.go
zsysnum_linux_mips64.go
zsysnum_linux_mips64le.go
zsysnum_linux_mipsle.go
zsysnum_linux_ppc64.go
zsysnum_linux_ppc64le.go
zsysnum_linux_riscv64.go
zsysnum_linux_s390x.go
zsysnum_linux_sparc64.go
zsysnum_netbsd_386.go
zsysnum_netbsd_amd64.go
zsysnum_netbsd_arm.go
zsysnum_netbsd_arm64.go
zsysnum_openbsd_386.go
zsysnum_openbsd_amd64.go
zsysnum_openbsd_arm.go
zsysnum_openbsd_arm64.go
zsysnum_openbsd_mips64.go
ztypes_aix_ppc.go
ztypes_aix_ppc64.go
ztypes_darwin_386.go
ztypes_darwin_amd64.go
ztypes_darwin_arm.go
ztypes_darwin_arm64.go
ztypes_dragonfly_amd64.go
ztypes_freebsd_386.go
ztypes_freebsd_amd64.go
ztypes_freebsd_arm.go
ztypes_freebsd_arm64.go
ztypes_linux.go
ztypes_linux_386.go
ztypes_linux_amd64.go
ztypes_linux_arm.go
ztypes_linux_arm64.go
ztypes_linux_mips.go
ztypes_linux_mips64.go
ztypes_linux_mips64le.go
ztypes_linux_mipsle.go
ztypes_linux_ppc64.go
ztypes_linux_ppc64le.go
ztypes_linux_riscv64.go
ztypes_linux_s390x.go
ztypes_linux_sparc64.go
ztypes_netbsd_386.go
ztypes_netbsd_amd64.go
ztypes_netbsd_arm.go
ztypes_netbsd_arm64.go
ztypes_openbsd_386.go
ztypes_openbsd_amd64.go
ztypes_openbsd_arm.go
ztypes_openbsd_arm64.go
ztypes_openbsd_mips64.go
ztypes_solaris_amd64.go
windows
AUTHORS
CONTRIBUTORS
LICENSE
PATENTS
text
time
google.golang.org
gopkg.in
k8s.io
sigs.k8s.io
modules.txt
watchdog
.dockerignore
.gitattributes
.gitignore
Dockerfile
LICENSE.md
README.md
config.yaml
go.mod
go.sum
gzip.go
main.go
gatus/vendor/golang.org/x/sys/unix/ioctl.go
2020-09-16 19:32:13 -04:00

75 lines
2.4 KiB
Go

// 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 aix darwin dragonfly freebsd linux netbsd openbsd solaris
package unix
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))
}
// 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
// passing the integer value directly.
func IoctlSetPointerInt(fd int, req uint, value int) error {
v := int32(value)
return ioctl(fd, req, uintptr(unsafe.Pointer(&v)))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
// To change fd's window size, the req argument should be TIOCSWINSZ.
func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
err := ioctl(fd, req, uintptr(unsafe.Pointer(value)))
runtime.KeepAlive(value)
return err
}
// IoctlSetTermios performs an ioctl on fd with a *Termios.
//
// 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 := 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
}