Source file src/runtime/cgo/linux.go
Documentation: runtime/cgo
1 // Copyright 2019 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Linux system call wrappers that provide POSIX semantics through the 6 // corresponding cgo->libc (nptl) wrappers for various system calls. 7 8 //go:build linux 9 // +build linux 10 11 package cgo 12 13 import "unsafe" 14 15 // Each of the following entries is needed to ensure that the 16 // syscall.syscall_linux code can conditionally call these 17 // function pointers: 18 // 19 // 1. find the C-defined function start 20 // 2. force the local byte alias to be mapped to that location 21 // 3. map the Go pointer to the function to the syscall package 22 23 //go:cgo_import_static _cgo_libc_setegid 24 //go:linkname _cgo_libc_setegid _cgo_libc_setegid 25 //go:linkname cgo_libc_setegid syscall.cgo_libc_setegid 26 var _cgo_libc_setegid byte 27 var cgo_libc_setegid = unsafe.Pointer(&_cgo_libc_setegid) 28 29 //go:cgo_import_static _cgo_libc_seteuid 30 //go:linkname _cgo_libc_seteuid _cgo_libc_seteuid 31 //go:linkname cgo_libc_seteuid syscall.cgo_libc_seteuid 32 var _cgo_libc_seteuid byte 33 var cgo_libc_seteuid = unsafe.Pointer(&_cgo_libc_seteuid) 34 35 //go:cgo_import_static _cgo_libc_setregid 36 //go:linkname _cgo_libc_setregid _cgo_libc_setregid 37 //go:linkname cgo_libc_setregid syscall.cgo_libc_setregid 38 var _cgo_libc_setregid byte 39 var cgo_libc_setregid = unsafe.Pointer(&_cgo_libc_setregid) 40 41 //go:cgo_import_static _cgo_libc_setresgid 42 //go:linkname _cgo_libc_setresgid _cgo_libc_setresgid 43 //go:linkname cgo_libc_setresgid syscall.cgo_libc_setresgid 44 var _cgo_libc_setresgid byte 45 var cgo_libc_setresgid = unsafe.Pointer(&_cgo_libc_setresgid) 46 47 //go:cgo_import_static _cgo_libc_setresuid 48 //go:linkname _cgo_libc_setresuid _cgo_libc_setresuid 49 //go:linkname cgo_libc_setresuid syscall.cgo_libc_setresuid 50 var _cgo_libc_setresuid byte 51 var cgo_libc_setresuid = unsafe.Pointer(&_cgo_libc_setresuid) 52 53 //go:cgo_import_static _cgo_libc_setreuid 54 //go:linkname _cgo_libc_setreuid _cgo_libc_setreuid 55 //go:linkname cgo_libc_setreuid syscall.cgo_libc_setreuid 56 var _cgo_libc_setreuid byte 57 var cgo_libc_setreuid = unsafe.Pointer(&_cgo_libc_setreuid) 58 59 //go:cgo_import_static _cgo_libc_setgroups 60 //go:linkname _cgo_libc_setgroups _cgo_libc_setgroups 61 //go:linkname cgo_libc_setgroups syscall.cgo_libc_setgroups 62 var _cgo_libc_setgroups byte 63 var cgo_libc_setgroups = unsafe.Pointer(&_cgo_libc_setgroups) 64 65 //go:cgo_import_static _cgo_libc_setgid 66 //go:linkname _cgo_libc_setgid _cgo_libc_setgid 67 //go:linkname cgo_libc_setgid syscall.cgo_libc_setgid 68 var _cgo_libc_setgid byte 69 var cgo_libc_setgid = unsafe.Pointer(&_cgo_libc_setgid) 70 71 //go:cgo_import_static _cgo_libc_setuid 72 //go:linkname _cgo_libc_setuid _cgo_libc_setuid 73 //go:linkname cgo_libc_setuid syscall.cgo_libc_setuid 74 var _cgo_libc_setuid byte 75 var cgo_libc_setuid = unsafe.Pointer(&_cgo_libc_setuid) 76