mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			26 lines
		
	
	
		
			554 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			554 B
		
	
	
	
		
			Go
		
	
	
	
// Copyright 2016 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 unix
 | 
						|
 | 
						|
import (
 | 
						|
	"syscall"
 | 
						|
	"unsafe"
 | 
						|
)
 | 
						|
 | 
						|
// getentropy(2)'s syscall number, from /usr/src/sys/kern/syscalls.master
 | 
						|
const entropyTrap uintptr = 7
 | 
						|
 | 
						|
// GetEntropy calls the OpenBSD getentropy system call.
 | 
						|
func GetEntropy(p []byte) error {
 | 
						|
	_, _, errno := syscall.Syscall(entropyTrap,
 | 
						|
		uintptr(unsafe.Pointer(&p[0])),
 | 
						|
		uintptr(len(p)),
 | 
						|
		0)
 | 
						|
	if errno != 0 {
 | 
						|
		return errno
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |