Hi.

    2. Remove the need for including the windows.h header from rand.h
completely by simply explicitly declaring those few windows specific
types used there. I believe it is just the UINT, WPARAM & LPARAM types
used in RAND_event() - all simple types, and not really worth including
the whole windows.h just for them...

Yes, maybe it is possible to include <windef.h> instead, which just
contains the basic Windows definitions.  Even that header contains quite
a lot of namespace pollution, but it is far less than <windows.h>.

I am not sure including windef.h would prevent the original symbol naming conflict issues.

  Why not simply change the simple types used in RAND_event() as follows:
  UINT --> unsigned int
  WPARAM --> void *
  LPARAM --> void *

I do not believe there is a supported Windows platform defining them in any way incompatible to this. And if it does - compiling the code passing these values to a Windows API will fail when the compiler tries to do an implicit type cast. If needed, even adding an #ifdef to use a different type in such cases seems like a good solution here.

This would remove the need for any Windows system header #include all together.

  Hope this helps.

  Best regards,
    Jurko Gospodnetić
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to