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
10package cgo
11
12import "unsafe"
13
14// Each of the following entries is needed to ensure that the
15// syscall.syscall_linux code can conditionally call these
16// function pointers:
17//
18//  1. find the C-defined function start
19//  2. force the local byte alias to be mapped to that location
20//  3. map the Go pointer to the function to the syscall package
21
22//go:cgo_import_static _cgo_libc_setegid
23//go:linkname _cgo_libc_setegid _cgo_libc_setegid
24//go:linkname cgo_libc_setegid syscall.cgo_libc_setegid
25var _cgo_libc_setegid byte
26var cgo_libc_setegid = unsafe.Pointer(&_cgo_libc_setegid)
27
28//go:cgo_import_static _cgo_libc_seteuid
29//go:linkname _cgo_libc_seteuid _cgo_libc_seteuid
30//go:linkname cgo_libc_seteuid syscall.cgo_libc_seteuid
31var _cgo_libc_seteuid byte
32var cgo_libc_seteuid = unsafe.Pointer(&_cgo_libc_seteuid)
33
34//go:cgo_import_static _cgo_libc_setregid
35//go:linkname _cgo_libc_setregid _cgo_libc_setregid
36//go:linkname cgo_libc_setregid syscall.cgo_libc_setregid
37var _cgo_libc_setregid byte
38var cgo_libc_setregid = unsafe.Pointer(&_cgo_libc_setregid)
39
40//go:cgo_import_static _cgo_libc_setresgid
41//go:linkname _cgo_libc_setresgid _cgo_libc_setresgid
42//go:linkname cgo_libc_setresgid syscall.cgo_libc_setresgid
43var _cgo_libc_setresgid byte
44var cgo_libc_setresgid = unsafe.Pointer(&_cgo_libc_setresgid)
45
46//go:cgo_import_static _cgo_libc_setresuid
47//go:linkname _cgo_libc_setresuid _cgo_libc_setresuid
48//go:linkname cgo_libc_setresuid syscall.cgo_libc_setresuid
49var _cgo_libc_setresuid byte
50var cgo_libc_setresuid = unsafe.Pointer(&_cgo_libc_setresuid)
51
52//go:cgo_import_static _cgo_libc_setreuid
53//go:linkname _cgo_libc_setreuid _cgo_libc_setreuid
54//go:linkname cgo_libc_setreuid syscall.cgo_libc_setreuid
55var _cgo_libc_setreuid byte
56var cgo_libc_setreuid = unsafe.Pointer(&_cgo_libc_setreuid)
57
58//go:cgo_import_static _cgo_libc_setgroups
59//go:linkname _cgo_libc_setgroups _cgo_libc_setgroups
60//go:linkname cgo_libc_setgroups syscall.cgo_libc_setgroups
61var _cgo_libc_setgroups byte
62var cgo_libc_setgroups = unsafe.Pointer(&_cgo_libc_setgroups)
63
64//go:cgo_import_static _cgo_libc_setgid
65//go:linkname _cgo_libc_setgid _cgo_libc_setgid
66//go:linkname cgo_libc_setgid syscall.cgo_libc_setgid
67var _cgo_libc_setgid byte
68var cgo_libc_setgid = unsafe.Pointer(&_cgo_libc_setgid)
69
70//go:cgo_import_static _cgo_libc_setuid
71//go:linkname _cgo_libc_setuid _cgo_libc_setuid
72//go:linkname cgo_libc_setuid syscall.cgo_libc_setuid
73var _cgo_libc_setuid byte
74var cgo_libc_setuid = unsafe.Pointer(&_cgo_libc_setuid)
75