groff 1.23.0 added .MR to its -man macro package. The NEWS file states
that the inclusion of the macro "was prompted by its introduction to
Plan 9 from User Space's troff in August 2020." From d32deab it seems
that the name for Plan 9 from User Space's implementation was suggested
by groff maintainer G. Brandon Robinson.
Not sure if the intention was to make these definitions compatible, but
it would be nice if they were.
Currently, Plan 9 from User Space's .MR expects its second argument to
be parenthesized. groff's .MR does not. This results in extra
parentheses appearing in manual references when viewing Plan 9 from User
Space's manual pages on a system using groff.
46 lines
878 B
Groff
46 lines
878 B
Groff
.TH GENRANDOM 3
|
|
.SH NAME
|
|
genrandom, prng \- random number generation
|
|
.SH SYNOPSIS
|
|
.B #include <u.h>
|
|
.br
|
|
.B #include <libc.h>
|
|
.br
|
|
.B #include <mp.h>
|
|
.br
|
|
.B #include <libsec.h>
|
|
.PP
|
|
.B
|
|
void genrandom(uchar *buf, int nbytes)
|
|
.PP
|
|
.B
|
|
void prng(uchar *buf, int nbytes)
|
|
.SH DESCRIPTION
|
|
Most security software requires a source of random or, at the
|
|
very least, unguessable numbers.
|
|
.PP
|
|
.I Genrandom
|
|
fills a buffer with bytes from the X9.17 pseudo-random
|
|
number generator. The X9.17 generator is seeded by 24
|
|
truly random bytes read via
|
|
.I truerand
|
|
(see
|
|
.MR rand 3 ).
|
|
.PP
|
|
.I Prng
|
|
uses the native
|
|
.MR rand 3
|
|
pseudo-random number generator to fill the buffer. Used with
|
|
.IR srand ,
|
|
this function can produce a reproducible stream of pseudo random
|
|
numbers useful in testing.
|
|
.PP
|
|
Both functions may be passed to
|
|
.I mprand
|
|
(see
|
|
.MR mp 3 ).
|
|
.SH SOURCE
|
|
.B \*9/src/libsec
|
|
.SH SEE ALSO
|
|
.MR mp 3
|