| // 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) |