| Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64 Path : /opt/golang/1.22.0/src/internal/syscall/unix/ |
| Current File : //opt/golang/1.22.0/src/internal/syscall/unix/getentropy_netbsd.go |
// Copyright 2023 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.
//go:build netbsd
package unix
import (
"syscall"
"unsafe"
)
const (
_CTL_KERN = 1
_KERN_ARND = 81
)
func GetEntropy(p []byte) error {
mib := [2]uint32{_CTL_KERN, _KERN_ARND}
n := uintptr(len(p))
_, _, errno := syscall.Syscall6(
syscall.SYS___SYSCTL,
uintptr(unsafe.Pointer(&mib[0])),
uintptr(len(mib)),
uintptr(unsafe.Pointer(&p[0])), // olddata
uintptr(unsafe.Pointer(&n)), // &oldlen
uintptr(unsafe.Pointer(nil)), // newdata
0) // newlen
if errno != 0 {
return syscall.Errno(errno)
}
if n != uintptr(len(p)) {
return syscall.EINVAL
}
return nil
}