]> git.saurik.com Git - apple/libc.git/blobdiff - stdlib/FreeBSD/random.3.patch
Libc-498.tar.gz
[apple/libc.git] / stdlib / FreeBSD / random.3.patch
diff --git a/stdlib/FreeBSD/random.3.patch b/stdlib/FreeBSD/random.3.patch
new file mode 100644 (file)
index 0000000..398385b
--- /dev/null
@@ -0,0 +1,134 @@
+--- 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