// 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. // Linux system call wrappers that provide POSIX semantics through the // corresponding cgo->libc (nptl) wrappers for various system calls. //go:build linux // +build linux package cgo import "unsafe" // Each of the following entries is needed to ensure that the // syscall.syscall_linux code can conditionally call these // function pointers: // // 1. find the C-defined function start // 2. force the local byte alias to be mapped to that location // 3. map the Go pointer to the function to the syscall package //go:cgo_import_static _cgo_libc_setegid //go:linkname _cgo_libc_setegid _cgo_libc_setegid //go:linkname cgo_libc_setegid syscall.cgo_libc_setegid var _cgo_libc_setegid byte var cgo_libc_setegid = unsafe.Pointer(&_cgo_libc_setegid) //go:cgo_import_static _cgo_libc_seteuid //go:linkname _cgo_libc_seteuid _cgo_libc_seteuid //go:linkname cgo_libc_seteuid syscall.cgo_libc_seteuid var _cgo_libc_seteuid byte var cgo_libc_seteuid = unsafe.Pointer(&_cgo_libc_seteuid) //go:cgo_import_static _cgo_libc_setregid //go:linkname _cgo_libc_setregid _cgo_libc_setregid //go:linkname cgo_libc_setregid syscall.cgo_libc_setregid var _cgo_libc_setregid byte var cgo_libc_setregid = unsafe.Pointer(&_cgo_libc_setregid) //go:cgo_import_static _cgo_libc_setresgid //go:linkname _cgo_libc_setresgid _cgo_libc_setresgid //go:linkname cgo_libc_setresgid syscall.cgo_libc_setresgid var _cgo_libc_setresgid byte var cgo_libc_setresgid = unsafe.Pointer(&_cgo_libc_setresgid) //go:cgo_import_static _cgo_libc_setresuid //go:linkname _cgo_libc_setresuid _cgo_libc_setresuid //go:linkname cgo_libc_setresuid syscall.cgo_libc_setresuid var _cgo_libc_setresuid byte var cgo_libc_setresuid = unsafe.Pointer(&_cgo_libc_setresuid) //go:cgo_import_static _cgo_libc_setreuid //go:linkname _cgo_libc_setreuid _cgo_libc_setreuid //go:linkname cgo_libc_setreuid syscall.cgo_libc_setreuid var _cgo_libc_setreuid byte var cgo_libc_setreuid = unsafe.Pointer(&_cgo_libc_setreuid) //go:cgo_import_static _cgo_libc_setgroups //go:linkname _cgo_libc_setgroups _cgo_libc_setgroups //go:linkname cgo_libc_setgroups syscall.cgo_libc_setgroups var _cgo_libc_setgroups byte var cgo_libc_setgroups = unsafe.Pointer(&_cgo_libc_setgroups) //go:cgo_import_static _cgo_libc_setgid //go:linkname _cgo_libc_setgid _cgo_libc_setgid //go:linkname cgo_libc_setgid syscall.cgo_libc_setgid var _cgo_libc_setgid byte var cgo_libc_setgid = unsafe.Pointer(&_cgo_libc_setgid) //go:cgo_import_static _cgo_libc_setuid //go:linkname _cgo_libc_setuid _cgo_libc_setuid //go:linkname cgo_libc_setuid syscall.cgo_libc_setuid var _cgo_libc_setuid byte var cgo_libc_setuid = unsafe.Pointer(&_cgo_libc_setuid)