NAME
idgen32
,
idgen32_init
—
non-repeating ID generation
SYNOPSIS
#include
<crypto/idgen.h>
void
idgen32_init
(struct
idgen32_ctx *ctx);
uint32_t
idgen32
(struct
idgen32_ctx *ctx);
DESCRIPTION
The
idgen32
()
functions provide a facility to generate a stream of 32-bit numbers that are
strongly unpredictable and have a repetition cycle close to 2^32. Such
numbers are useful as protocol identifiers where there are negative
consequences to reusing an ID within a short time period, as may happen if
they are simply assigned at random.
The
idgen32_init
()
function prepares a context structure for use.
The
idgen32
()
function returns a new ID in host byte order. Note that this function will
never return 0 as it often has a special meaning in network protocols.
SEE ALSO
HISTORY
The idgen32
functions were added in
OpenBSD 4.4.