xref: /illumos-gate/usr/src/man/man3c/getentropy.3c (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
19d12795fSRobert Mustacchi.\"	$OpenBSD: getentropy.2,v 1.7 2014/12/10 19:19:00 schwarze Exp $
29d12795fSRobert Mustacchi.\"
39d12795fSRobert Mustacchi.\" Copyright (c) 2014 Theo de Raadt
49d12795fSRobert Mustacchi.\" Copyright (c) 2015 Joyent, Inc.
59d12795fSRobert Mustacchi.\"
69d12795fSRobert Mustacchi.\" Permission to use, copy, modify, and distribute this software for any
79d12795fSRobert Mustacchi.\" purpose with or without fee is hereby granted, provided that the above
89d12795fSRobert Mustacchi.\" copyright notice and this permission notice appear in all copies.
99d12795fSRobert Mustacchi.\"
109d12795fSRobert Mustacchi.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
119d12795fSRobert Mustacchi.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
129d12795fSRobert Mustacchi.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
139d12795fSRobert Mustacchi.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
149d12795fSRobert Mustacchi.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
159d12795fSRobert Mustacchi.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
169d12795fSRobert Mustacchi.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
179d12795fSRobert Mustacchi.\"
189d12795fSRobert Mustacchi.Dd "Dec 31, 2014"
199d12795fSRobert Mustacchi.Dt GETENTROPY 3C
209d12795fSRobert Mustacchi.Os
219d12795fSRobert Mustacchi.Sh NAME
229d12795fSRobert Mustacchi.Nm getentropy
239d12795fSRobert Mustacchi.Nd get entropy
249d12795fSRobert Mustacchi.Sh SYNOPSIS
259d12795fSRobert Mustacchi.Fd #include <unistd.h>
269d12795fSRobert Mustacchi.Ft int
279d12795fSRobert Mustacchi.Fn getentropy "void *buf" "size_t buflen"
289d12795fSRobert Mustacchi.Sh DESCRIPTION
299d12795fSRobert Mustacchi.Nm
309d12795fSRobert Mustacchifills a buffer with high-quality entropy, which can be used
319d12795fSRobert Mustacchias input for process-context pseudorandom generators like
329d12795fSRobert Mustacchi.Xr arc4random 3C .
339d12795fSRobert Mustacchi.Pp
349d12795fSRobert MustacchiThe maximum buffer size permitted is 256 bytes.
359d12795fSRobert MustacchiIf
369d12795fSRobert Mustacchi.Va buflen
379d12795fSRobert Mustacchiexceeds this, an error of
389d12795fSRobert Mustacchi.Er EIO
399d12795fSRobert Mustacchiwill be indicated.
409d12795fSRobert Mustacchi.Pp
419d12795fSRobert Mustacchi.Nm
429d12795fSRobert Mustacchiis not intended for regular code; please use the
439d12795fSRobert Mustacchi.Xr arc4random 3C
449d12795fSRobert Mustacchifamily of functions instead.
459d12795fSRobert Mustacchi.Sh RETURN VALUES
469d12795fSRobert Mustacchi.Rv -std
479d12795fSRobert Mustacchi.Sh ERRORS
489d12795fSRobert Mustacchi.Fn getentropy
499d12795fSRobert Mustacchiwill succeed unless:
509d12795fSRobert Mustacchi.Bl -tag -width Er
519d12795fSRobert Mustacchi.It Er EFAULT
529d12795fSRobert MustacchiThe
539d12795fSRobert Mustacchi.Fa buf
549d12795fSRobert Mustacchiparameter points to an
559d12795fSRobert Mustacchiinvalid address.
569d12795fSRobert Mustacchi.It Er EIO
579d12795fSRobert MustacchiToo many bytes requested, or some other fatal error occurred.
589d12795fSRobert Mustacchi.El
599d12795fSRobert Mustacchi.Sh INTERFACE STABILITY
609d12795fSRobert Mustacchi.Sy Comitted
619d12795fSRobert Mustacchi.Sh MT-LEVEL
629d12795fSRobert Mustacchi.Sy Async-Signal-Safe
639d12795fSRobert Mustacchi.Sh SEE ALSO
643a005aadSYuri Pankov.Xr arc4random 3C ,
65*bbf21555SRichard Lowe.Xr attributes 7
66