xref: /titanic_41/usr/src/man/man3c/getentropy.3c (revision 28f17cb2cce2c4ba0dcda9d9f52a8935aa02e489)
1*28f17cb2SRobert Mustacchi.\"	$OpenBSD: getentropy.2,v 1.7 2014/12/10 19:19:00 schwarze Exp $
2*28f17cb2SRobert Mustacchi.\"
3*28f17cb2SRobert Mustacchi.\" Copyright (c) 2014 Theo de Raadt
4*28f17cb2SRobert Mustacchi.\" Copyright (c) 2015 Joyent, Inc.
5*28f17cb2SRobert Mustacchi.\"
6*28f17cb2SRobert Mustacchi.\" Permission to use, copy, modify, and distribute this software for any
7*28f17cb2SRobert Mustacchi.\" purpose with or without fee is hereby granted, provided that the above
8*28f17cb2SRobert Mustacchi.\" copyright notice and this permission notice appear in all copies.
9*28f17cb2SRobert Mustacchi.\"
10*28f17cb2SRobert Mustacchi.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11*28f17cb2SRobert Mustacchi.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*28f17cb2SRobert Mustacchi.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13*28f17cb2SRobert Mustacchi.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14*28f17cb2SRobert Mustacchi.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15*28f17cb2SRobert Mustacchi.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16*28f17cb2SRobert Mustacchi.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*28f17cb2SRobert Mustacchi.\"
18*28f17cb2SRobert Mustacchi.Dd "Dec 31, 2014"
19*28f17cb2SRobert Mustacchi.Dt GETENTROPY 3C
20*28f17cb2SRobert Mustacchi.Os
21*28f17cb2SRobert Mustacchi.Sh NAME
22*28f17cb2SRobert Mustacchi.Nm getentropy
23*28f17cb2SRobert Mustacchi.Nd get entropy
24*28f17cb2SRobert Mustacchi.Sh SYNOPSIS
25*28f17cb2SRobert Mustacchi.Fd #include <unistd.h>
26*28f17cb2SRobert Mustacchi.Ft int
27*28f17cb2SRobert Mustacchi.Fn getentropy "void *buf" "size_t buflen"
28*28f17cb2SRobert Mustacchi.Sh DESCRIPTION
29*28f17cb2SRobert Mustacchi.Nm
30*28f17cb2SRobert Mustacchifills a buffer with high-quality entropy, which can be used
31*28f17cb2SRobert Mustacchias input for process-context pseudorandom generators like
32*28f17cb2SRobert Mustacchi.Xr arc4random 3C .
33*28f17cb2SRobert Mustacchi.Pp
34*28f17cb2SRobert MustacchiThe maximum buffer size permitted is 256 bytes.
35*28f17cb2SRobert MustacchiIf
36*28f17cb2SRobert Mustacchi.Va buflen
37*28f17cb2SRobert Mustacchiexceeds this, an error of
38*28f17cb2SRobert Mustacchi.Er EIO
39*28f17cb2SRobert Mustacchiwill be indicated.
40*28f17cb2SRobert Mustacchi.Pp
41*28f17cb2SRobert Mustacchi.Nm
42*28f17cb2SRobert Mustacchiis not intended for regular code; please use the
43*28f17cb2SRobert Mustacchi.Xr arc4random 3C
44*28f17cb2SRobert Mustacchifamily of functions instead.
45*28f17cb2SRobert Mustacchi.Sh RETURN VALUES
46*28f17cb2SRobert Mustacchi.Rv -std
47*28f17cb2SRobert Mustacchi.Sh ERRORS
48*28f17cb2SRobert Mustacchi.Fn getentropy
49*28f17cb2SRobert Mustacchiwill succeed unless:
50*28f17cb2SRobert Mustacchi.Bl -tag -width Er
51*28f17cb2SRobert Mustacchi.It Er EFAULT
52*28f17cb2SRobert MustacchiThe
53*28f17cb2SRobert Mustacchi.Fa buf
54*28f17cb2SRobert Mustacchiparameter points to an
55*28f17cb2SRobert Mustacchiinvalid address.
56*28f17cb2SRobert Mustacchi.It Er EIO
57*28f17cb2SRobert MustacchiToo many bytes requested, or some other fatal error occurred.
58*28f17cb2SRobert Mustacchi.El
59*28f17cb2SRobert Mustacchi.Sh INTERFACE STABILITY
60*28f17cb2SRobert Mustacchi.Sy Comitted
61*28f17cb2SRobert Mustacchi.Sh MT-LEVEL
62*28f17cb2SRobert Mustacchi.Sy Async-Signal-Safe
63*28f17cb2SRobert Mustacchi.Sh SEE ALSO
64*28f17cb2SRobert Mustacchi.Xr arc4random 3C
65*28f17cb2SRobert Mustacchi.Xr attributes 5
66