syscall_darwin_libSystem.go 1.4 KB

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