DragonFly On-Line Manual Pages
GETENTROPY(3) DragonFly 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.
[EIO] Too many bytes requested, or some other fatal error
occurred.
SEE ALSO
getrandom(2), arc4random(3), random(4)
STANDARDS
getentropy() is non-standard. It is present on OpenBSD, FreeBSD and
Linux.
HISTORY
The getentropy() function appeared in OpenBSD 5.6. The FreeBSD and
DragonFly libc compatibility shims first appeared in FreeBSD 12.0 and
DragonFly 6.1, respectively.
DragonFly 6.1-DEVELOPMENT December 31, 2021 DragonFly 6.1-DEVELOPMENT