OpenBSD manual page server

Manual Page Search Parameters

ARC4RANDOM(9) Kernel Developer's Manual ARC4RANDOM(9)

arc4random, arc4random_buf, arc4random_uniform, enqueue_randomnesskernel random subsystem

#include <sys/systm.h>

u_int32_t
arc4random(void);

void
arc4random_buf(void *buf, size_t nbytes);

u_int32_t
arc4random_uniform(u_int32_t upper_bound);

void
enqueue_randomness(int);

() and () provide random numbers and are intended to be called in any circumstance where random numbers are required.

() will return a uniformly distributed random number less than upper_bound, avoiding "modulo bias" when the upper bound is not a power of two. In the worst case, this function may consume multiple iterations to ensure uniformity; see the source code to understand the problem and solution.

() causes the supplied data argument to be added to the entropy pool.

arc4random(3), random(4)

May 29, 2020 OpenBSD-current