Loading...
--- Libc/Libc-1725.40.4/gen/FreeBSD/arc4random.3
+++ /dev/null
@@ -1,100 +0,0 @@
-.\" $OpenBSD: arc4random.3,v 1.34 2014/07/19 16:11:16 naddy Exp $
-.\"
-.\" Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by Niels Provos.
-.\" 4. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" Manual page, using -mandoc macros
-.\"
-.Dd July 30, 2015
-.Dt ARC4RANDOM 3
-.Os
-.Sh NAME
-.Nm arc4random ,
-.Nm arc4random_buf ,
-.Nm arc4random_uniform
-.Nd random number generator
-.Sh SYNOPSIS
-.In stdlib.h
-.Ft uint32_t
-.Fn arc4random "void"
-.Ft void
-.Fn arc4random_buf "void *buf" "size_t nbytes"
-.Ft uint32_t
-.Fn arc4random_uniform "uint32_t upper_bound"
-.Sh DESCRIPTION
-.Pp
-These functions use a cryptographic pseudo-random number generator to generate
-high quality random bytes very quickly. One data pool is used for all
-consumers in a process, so that consumption under program flow can act as
-additional stirring. The subsystem is re-seeded from the kernel random number
-subsystem on a regular basis, and also upon
-.Xr fork 2 .
-.Pp
-This family of functions provides higher quality random data than those
-described in
-.Xr rand 3 ,
-.Xr random 3 ,
-and
-.Xr rand48 3 .
-They can be called in almost all environments, including
-.Xr chroot 2 ,
-and their use is encouraged over all other standard library functions for
-random numbers.
-.Pp
-.Fn arc4random
-returns a single 32-bit value.
-.Pp
-.Fn arc4random_buf
-fills the region
-.Fa buf
-of length
-.Fa nbytes
-with random data.
-.Pp
-.Fn arc4random_uniform
-will return a single 32-bit value, uniformly distributed but less than
-.Fa upper_bound .
-This is recommended over constructions like
-.Dq Li arc4random() % upper_bound
-as it avoids "modulo bias" when the upper bound is not a power of two.
-In the worst case, this function may require multiple iterations
-to ensure uniformity.
-.Sh RETURN VALUES
-These functions are always successful, and no return value is
-reserved to indicate an error.
-.Sh SEE ALSO
-.Xr rand 3 ,
-.Xr rand48 3 ,
-.Xr random 3 ,
-.Xr random 4
-.Sh HISTORY
-The original version of this random number generator used the RC4 (also known
-as ARC4) algorithm. In OS X 10.12 it was replaced with the NIST-approved AES
-cipher, and it may be replaced again in the future as cryptographic techniques
-advance. A good mnemonic is
-.Dq A Replacement Call for Random .