github.com/jwijenbergh/purego@v0.0.0-20240126093400-70ff3a61df13/syscall_cgo_linux.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // SPDX-FileCopyrightText: 2022 The Ebitengine Authors
     3  
     4  //go:build cgo && !(amd64 || arm64)
     5  
     6  package purego
     7  
     8  import (
     9  	_ "unsafe" // for go:linkname
    10  
    11  	"github.com/jwijenbergh/purego/internal/cgo"
    12  )
    13  
    14  var syscall15XABI0 = uintptr(cgo.Syscall15XABI0)
    15  
    16  // this is only here to make the assembly files happy :)
    17  type syscall15Args struct {
    18  	fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr
    19  	f1, f2, f3, f4, f5, f6, f7, f8                                       uintptr
    20  	r1, r2, err                                                          uintptr
    21  }
    22  
    23  //go:nosplit
    24  func syscall_syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr) (r1, r2, err uintptr) {
    25  	return cgo.Syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)
    26  }
    27  
    28  func NewCallback(_ interface{}) uintptr {
    29  	panic("purego: NewCallback on Linux is only supported on amd64/arm64")
    30  }