Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETENTROPY(3)		    Library Functions Manual		 GETENTROPY(3)

NAME
       getentropy -- get entropy

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<unistd.h>

       int
       getentropy(void *buf, size_t buflen);

DESCRIPTION
       getentropy() fills a buffer with	high-quality random data.

       The maximum buflen permitted is 256 bytes.

       If  it  does not	produce	an error, getentropy() always provides the re-
       quested number of bytes of random data.

       Similar to reading from /dev/urandom just after boot, getentropy()  may
       block until the system has collected enough entropy to seed the CSPRNG.

IMPLEMENTATION NOTES
       The getentropy()	function is implemented	using getrandom(2).

RETURN VALUES
       Upon  successful	 completion,  the  value  0 is returned; otherwise the
       value -1	is returned and	the global variable errno is set  to  indicate
       the error.

ERRORS
       getentropy() will succeed unless:

       [EFAULT]		  The buf parameter points to an invalid address.

       [EINVAL]		  Too many bytes requested.

SEE ALSO
       getrandom(2), arc4random(3), random(4)

STANDARDS
       getentropy() conforms to	.

HISTORY
       The  getentropy()  function  appeared in	OpenBSD	5.6.  The FreeBSD libc
       compatibility shim first	appeared in FreeBSD 12.0.

FreeBSD	14.3		       January 17, 2025			 GETENTROPY(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=getentropy&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help