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 }