|  | // 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 | 
|  | } |