Changeset View
Changeset View
Standalone View
Standalone View
head/share/man/man9/random.9
Show All 20 Lines | |||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
.\" | .\" | ||||
.\" $FreeBSD$ | .\" $FreeBSD$ | ||||
.\" " | .\" " | ||||
.Dd April 15, 2019 | .Dd April 16, 2019 | ||||
.Dt RANDOM 9 | .Dt RANDOM 9 | ||||
.Os | .Os | ||||
.Sh NAME | .Sh NAME | ||||
.Nm arc4rand , | .Nm arc4rand , | ||||
.Nm arc4random , | .Nm arc4random , | ||||
.Nm arc4random_buf , | .Nm arc4random_buf , | ||||
.Nm is_random_seeded , | |||||
.Nm random , | .Nm random , | ||||
.Nm read_random , | .Nm read_random , | ||||
.Nm read_random_uio , | .Nm read_random_uio , | ||||
.Nm srandom | .Nm srandom | ||||
.Nd supply pseudo-random numbers | .Nd supply pseudo-random numbers | ||||
.Sh SYNOPSIS | .Sh SYNOPSIS | ||||
.In sys/libkern.h | .In sys/libkern.h | ||||
.Ft uint32_t | .Ft uint32_t | ||||
.Fn arc4random "void" | .Fn arc4random "void" | ||||
.Ft void | .Ft void | ||||
.Fn arc4random_buf "void *ptr" "size_t len" | .Fn arc4random_buf "void *ptr" "size_t len" | ||||
.Ft void | .Ft void | ||||
.Fn arc4rand "void *ptr" "u_int length" "int reseed" | .Fn arc4rand "void *ptr" "u_int length" "int reseed" | ||||
.Pp | .Pp | ||||
.In sys/random.h | .In sys/random.h | ||||
.Ft bool | |||||
.Fn is_random_seeded "void" | |||||
.Ft void | .Ft void | ||||
.Fn read_random "void *buffer" "int count" | .Fn read_random "void *buffer" "int count" | ||||
.Ft int | .Ft int | ||||
.Fn read_random_uio "struct uio *uio" "bool nonblock" | .Fn read_random_uio "struct uio *uio" "bool nonblock" | ||||
.Ss LEGACY ROUTINES | .Ss LEGACY ROUTINES | ||||
.In sys/libkern.h | .In sys/libkern.h | ||||
.Ft void | .Ft void | ||||
.Fn srandom "u_long seed" | .Fn srandom "u_long seed" | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
.Fa count | .Fa count | ||||
bytes. | bytes. | ||||
It is strongly advised that | It is strongly advised that | ||||
.Fn read_random | .Fn read_random | ||||
is not used directly; | is not used directly; | ||||
instead, use the | instead, use the | ||||
.Fn arc4rand | .Fn arc4rand | ||||
family of functions. | family of functions. | ||||
.Pp | |||||
The | |||||
.Fn is_random_seeded | |||||
function can be used to check in advance if | |||||
.Fn read_random | |||||
will block. | |||||
(If random is seeded, it will not block.) | |||||
.Pp | .Pp | ||||
The | The | ||||
.Fn read_random_uio | .Fn read_random_uio | ||||
function behaves identically to | function behaves identically to | ||||
.Xr read 2 | .Xr read 2 | ||||
on | on | ||||
.Pa /dev/random . | .Pa /dev/random . | ||||
The | The | ||||
▲ Show 20 Lines • Show All 101 Lines • Show Last 20 Lines |