=head1 NAME
-RAND_add, RAND_seed, RAND_status, RAND_screen - add entropy to the PRNG
+RAND_add, RAND_seed, RAND_status, RAND_event, RAND_screen - add
+entropy to the PRNG
=head1 SYNOPSIS
int RAND_status(void);
+ int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam);
void RAND_screen(void);
=head1 DESCRIPTION
RAND_seed() is equivalent to RAND_add() when B<num == entropy>.
+RAND_event() collects the entropy from Windows events such as mouse
+movements and other user interaction. It should be called with the
+B<iMsg>, B<wParam> and B<lParam> arguments of I<all> messages sent to
+the window procedure. It will estimate the entropy contained in the
+event message (if any), and add it to the PRNG. The program can then
+process the messages as usual.
+
The RAND_screen() function is available for the convenience of Windows
programmers. It adds the current contents of the screen to the PRNG.
-For applications that can catch Windows events, seeding the PRNG with
-the parameters of B<WM_MOUSEMOVE> events is a significantly better
-source of randomness. It should be noted that both methods cannot be
-used on servers that run without user interaction.
+For applications that can catch Windows events, seeding the PRNG by
+calling RAND_event() is a significantly better source of
+randomness. It should be noted that both methods cannot be used on
+servers that run without user interaction.
=head1 RETURN VALUES
-RAND_status() returns 1 if the PRNG has been seeded with enough data,
-0 otherwise.
+RAND_status() and RAND_event() return 1 if the PRNG has been seeded
+with enough data, 0 otherwise.
The other functions do not return values.
RAND_seed() and RAND_screen() are available in all versions of SSLeay
and OpenSSL. RAND_add() and RAND_status() have been added in OpenSSL
-0.9.5.
+0.9.5, RAND_event() in OpenSSL 0.9.5a.
=cut