GETENTROPY(2) | System Calls Manual | GETENTROPY(2)

# NAME

`getentropy` — get entropy

# SYNOPSIS

`#include <unistd.h>`

int
`getentropy`(void *buf, size_t buflen);

# DESCRIPTION

`getentropy`() fills a buffer with high-quality entropy, which can be used as input for process-context pseudorandom generators like arc4random(3).

The maximum buffer size permitted is `GETENTROPY_MAX` (256) bytes.

`getentropy`() is not intended for regular code; use the arc4random(3) family of functions instead.

The high-quality entropy data is provided by the random(4) subsystem.

# 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

arc4random(3)

# STANDARDS

The `getentropy`() function conforms to.

# HISTORY

The `getentropy`() function appeared in OpenBSD 5.6.

August 2, 2024 | Debian