# random.3.patch   [plain text]

```--- random.3	2004-11-25 11:38:42.000000000 -0800
+++ random.3.edit	2006-07-12 11:25:20.000000000 -0700
@@ -36,32 +36,45 @@
.Dt RANDOM 3
.Os
.Sh NAME
+.Nm initstate ,
.Nm random ,
+.Nm setstate ,
.Nm srandom ,
-.Nm srandomdev ,
-.Nm initstate ,
-.Nm setstate
+.Nm srandomdev
.Nd better random number generator; routines for changing generators
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In stdlib.h
+.Ft char *
+.Fo initstate
+.Fa "unsigned seed"
+.Fa "char *state"
+.Fa "size_t size"
+.Fc
.Ft long
-.Fn random void
+.Fo random
+.Fa void
+.Fc
+.Ft char *
+.Fo setstate
+.Fa "const char *state"
+.Fc
.Ft void
-.Fn srandom "unsigned long seed"
+.Fo srandom
+.Fa "unsigned seed"
+.Fc
.Ft void
-.Fn srandomdev void
-.Ft char *
-.Fn initstate "unsigned long seed" "char *state" "long n"
-.Ft char *
-.Fn setstate "char *state"
+.Fo srandomdev
+.Fa void
+.Fc
.Sh DESCRIPTION
The
.Fn random
function
-uses a non-linear additive feedback random number generator employing a
-default table of size 31 long integers to return successive pseudo-random
+uses a non-linear, additive feedback, random number generator, employing a
+default table of size 31 long integers.
+It returns successive pseudo-random
numbers in the range from 0 to
.if t 2\u\s731\s10\d\(mi1.
.if n (2**31)\(mi1.
@@ -82,7 +95,7 @@
.Xr rand 3
produces a much less random sequence \(em in fact, the low dozen bits
generated by rand go through a cyclic pattern.
-All the bits generated by
+All of the bits generated by
.Fn random
are usable.
For example,
@@ -102,7 +115,7 @@
.Pp
The
.Fn srandomdev
-routine initializes a state array using the
+routine initializes a state array, using the
.Xr random 4
random number device which returns good random numbers,
suitable for cryptographic use.
@@ -127,7 +140,7 @@
the nearest known amount.
Using less than 8 bytes will cause an error.)
The seed for the initialization (which specifies a starting point for
-the random number sequence, and provides for restarting at the same
+the random number sequence and provides for restarting at the same
point) is also an argument.
The
.Fn initstate
@@ -166,7 +179,7 @@
With 256 bytes of state information, the period of the random number
generator is greater than
.if t 2\u\s769\s10\d,
-.if n 2**69
+.if n 2**69 ,
which should be sufficient for most purposes.
.Sh AUTHORS
.An Earl T. Cohen
@@ -177,11 +190,36 @@
.Fn setstate
detects that the state information has been garbled, error
messages are printed on the standard error output.
+.Sh LEGACY SYNOPSIS
+.Fd #include <stdlib.h>
+.Pp
+.Ft char *
+.br
+.Fo initstate
+.Fa "unsigned long seed"
+.Fa "char *state"
+.Fa "long size"
+.Fc ;
+.Pp
+.Ft char *
+.br
+.Fo setstate
+.Fa "char *state"
+.Fc ;
+.Pp
+.Ft void
+.br
+.Fo srandom
+.Fa "unsigned long seed"
+.Fc ;
+.Pp
+The type of each parameter is different in the legacy version.
.Sh SEE ALSO
.Xr arc4random 3 ,
.Xr rand 3 ,
.Xr srand 3 ,
-.Xr random 4
+.Xr random 4 ,
+.Xr compat 5
.Sh HISTORY
These
functions appeared in
```