Black Lives Matter. Support the Equal Justice Initiative.

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  

View as plain text