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 requested
     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 IEEE Std 1003.1-2024 ("POSIX.1").

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

FreeBSD ports 15.quarterly	January 17, 2025		   GETENTROPY(3)

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

home | help