github.com/sdibtacm/sandbox@v0.0.0-20200320120712-60470cf803dc/exec/syscall_func_helper.go (about)

     1  package exec
     2  
     3  import (
     4  	"syscall"
     5  	_ "unsafe"
     6  )
     7  
     8  const (
     9  	RLIMIT_CPU        = 0
    10  	RLIMIT_FSIZE      = 1
    11  	RLIMIT_DATA       = 2
    12  	RLIMIT_STACK      = 3
    13  	RLIMIT_CORE       = 4
    14  	RLIMIT_RSS        = 5
    15  	RLIMIT_NPROC      = 6
    16  	RLIMIT_NOFILE     = 7
    17  	RLIMIT_MEMLOCK    = 8
    18  	RLIMIT_AS         = 9
    19  	RLIMIT_LOCKS      = 10
    20  	RLIMIT_SIGPENDING = 11
    21  	RLIMIT_MSGQUEUE   = 12
    22  	RLIMIT_NICE       = 13
    23  	RLIMIT_RTPRIO     = 14
    24  	RLIMIT_RTTIME     = 15
    25  	RLIMIT_NLIMITS    = 16
    26  )
    27  
    28  //go:linkname runtimeBeforeFork syscall.runtime_BeforeFork
    29  func runtimeBeforeFork()
    30  
    31  //go:linkname runtimeAfterFork syscall.runtime_AfterFork
    32  func runtimeAfterFork()
    33  
    34  //go:linkname runtimeAfterForkInChild syscall.runtime_AfterForkInChild
    35  func runtimeAfterForkInChild()
    36  
    37  //go:linkname rawSyscallNoError syscall.rawSyscallNoError
    38  func rawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
    39  
    40  //go:linkname rawVforkSyscall syscall.rawVforkSyscall
    41  func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err syscall.Errno)
    42  
    43  //go:linkname Syscall syscall.Syscall
    44  func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
    45  
    46  //go:linkname Syscall6 syscall.Syscall6
    47  func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
    48  
    49  //go:linkname RawSyscall syscall.RawSyscall
    50  func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
    51  
    52  //go:linkname RawSyscall6 syscall.RawSyscall6
    53  func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
    54  
    55  //go:linkname fcntl syscall.fcntl
    56  func fcntl(fd int, cmd int, arg int) (val int, err error)
    57  
    58  //go:linkname readlen syscall.readlen
    59  func readlen(fd int, p *byte, np int) (n int, err error)
    60  
    61  const (
    62  	SYS_CLONE = syscall.SYS_CLONE
    63  
    64  	SIGCHLD = syscall.SIGCHLD
    65  
    66  	PTRACE_EVENT_SECCOMP  = 7
    67  	PTRACE_O_TRACESECCOMP = 1 << PTRACE_EVENT_SECCOMP
    68  
    69  	PR_SET_NO_NEW_PRIVS = 38
    70  	PR_GET_NO_NEW_PRIVS = 39
    71  )