...

Source file src/internal/syscall/unix/getentropy_openbsd.go

     1	// Copyright 2016 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	package unix
     6	
     7	import (
     8		"syscall"
     9		"unsafe"
    10	)
    11	
    12	// getentropy(2)'s syscall number, from /usr/src/sys/kern/syscalls.master
    13	const entropyTrap uintptr = 7
    14	
    15	// GetEntropy calls the OpenBSD getentropy system call.
    16	func GetEntropy(p []byte) error {
    17		_, _, errno := syscall.Syscall(entropyTrap,
    18			uintptr(unsafe.Pointer(&p[0])),
    19			uintptr(len(p)),
    20			0)
    21		if errno != 0 {
    22			return errno
    23		}
    24		return nil
    25	}
    26	

View as plain text