| // Copyright 2022 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package syscall provides the syscall primitives required for the runtime. |
| package syscall |
| |
| // TODO(https://go.dev/issue/51087): This package is incomplete and currently |
| // only contains very minimal support for Linux. |
| |
| //extern __go_syscall6 |
| func syscall6(num uintptr, a1, a2, a3, a4, a5, a6 uintptr) uintptr |
| |
| func getErrno() uintptr |
| func setErrno(uintptr) |
| |
| // Syscall6 calls system call number 'num' with arguments a1-6. |
| func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr) { |
| setErrno(0) |
| r := syscall6(num, a1, a2, a3, a4, a5, a6) |
| errno = getErrno() |
| return r, 0, errno |
| } |