github.com/binkynet/BinkyNet@v1.12.1-0.20240421190447-da4e34c20be0/proto_vendor/golang.org/x/sys/unix/gccgo.go (about)

     1  // Copyright 2015 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  // +build gccgo
     6  // +build !aix
     7  
     8  package unix
     9  
    10  import "syscall"
    11  
    12  // We can't use the gc-syntax .s files for gccgo. On the plus side
    13  // much of the functionality can be written directly in Go.
    14  
    15  //extern gccgoRealSyscallNoError
    16  func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr)
    17  
    18  //extern gccgoRealSyscall
    19  func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)
    20  
    21  func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
    22  	syscall.Entersyscall()
    23  	r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
    24  	syscall.Exitsyscall()
    25  	return r, 0
    26  }
    27  
    28  func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
    29  	syscall.Entersyscall()
    30  	r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
    31  	syscall.Exitsyscall()
    32  	return r, 0, syscall.Errno(errno)
    33  }
    34  
    35  func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
    36  	syscall.Entersyscall()
    37  	r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)
    38  	syscall.Exitsyscall()
    39  	return r, 0, syscall.Errno(errno)
    40  }
    41  
    42  func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) {
    43  	syscall.Entersyscall()
    44  	r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)
    45  	syscall.Exitsyscall()
    46  	return r, 0, syscall.Errno(errno)
    47  }
    48  
    49  func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
    50  	r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
    51  	return r, 0
    52  }
    53  
    54  func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
    55  	r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)
    56  	return r, 0, syscall.Errno(errno)
    57  }
    58  
    59  func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
    60  	r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)
    61  	return r, 0, syscall.Errno(errno)
    62  }