=pod

=head1 NAME

RAND_egd - query entropy gathering daemon

=head1 SYNOPSIS

 #include <openssl/rand.h>

 int RAND_egd(const char *path);

=head1 DESCRIPTION

RAND_egd() queries the entropy gathering daemon EGD on socket B<path>.

EGD is available from http://www.lothar.com/tech/crypto/ (C<perl
Makefile.PL; make; make install> to install). It is run as B<egd>
I<path>, where I<path> is an absolute path designating a socket. When
RAND_egd() is called with that path as an argument, it tries to read
random bytes that EGD has collected. The read is performed in
non-blocking mode.

Alternatively, the EGD-compatible daemon PRNGD can be used. It is
available from
http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html .

=head1 RETURN VALUE

RAND_egd() returns the number of bytes read from the daemon on
success, and -1 if the connection failed or the daemon did not return
enough data to fully seed the PRNG.

=head1 SEE ALSO

L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>

=head1 HISTORY

RAND_egd() is available since OpenSSL 0.9.5.

=cut
