1// Copyright 2018 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 darwin,go1.12 6 7package unix 8 9import "unsafe" 10 11// Implemented in the runtime package (runtime/sys_darwin.go) 12func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) 13func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) 14func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) 15func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only 16func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) 17func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) 18func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) 19 20//go:linkname syscall_syscall syscall.syscall 21//go:linkname syscall_syscall6 syscall.syscall6 22//go:linkname syscall_syscall6X syscall.syscall6X 23//go:linkname syscall_syscall9 syscall.syscall9 24//go:linkname syscall_rawSyscall syscall.rawSyscall 25//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 26//go:linkname syscall_syscallPtr syscall.syscallPtr 27 28// Find the entry point for f. See comments in runtime/proc.go for the 29// function of the same name. 30//go:nosplit 31func funcPC(f func()) uintptr { 32 return **(**uintptr)(unsafe.Pointer(&f)) 33} 34