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