summaryrefslogtreecommitdiffstats
path: root/e_os2.h
AgeCommit message (Collapse)Author
2001-03-02Introduce the possibility to access global variables throughRichard Levitte
functions on platform were that's the best way to handle exporting global variables in shared libraries. To enable this functionality, one must configure with "EXPORT_VAR_AS_FN" or defined the C macro "OPENSSL_EXPORT_VAR_AS_FUNCTION" in crypto/opensslconf.h (the latter is normally done by Configure or something similar). To implement a global variable, use the macro OPENSSL_IMPLEMENT_GLOBAL in the source file (foo.c) like this: OPENSSL_IMPLEMENT_GLOBAL(int,foo)=1; OPENSSL_IMPLEMENT_GLOBAL(double,bar); To declare a global variable, use the macros OPENSSL_DECLARE_GLOBAL and OPENSSL_GLOBAL_REF in the header file (foo.h) like this: OPENSSL_DECLARE_GLOBAL(int,foo); #define foo OPENSSL_GLOBAL_REF(foo) OPENSSL_DECLARE_GLOBAL(double,bar); #define bar OPENSSL_GLOBAL_REF(bar) The #defines are very important, and therefore so is including the header file everywere where the defined globals are used. The macro OPENSSL_EXPORT_VAR_AS_FUNCTION also affects the definition of ASN.1 items, but that structure is a bt different. The largest change is in util/mkdef.pl which has been enhanced with better and easier to understand logic to choose which symbols should go into the Windows .def files as well as a number of fixes and code cleanup (among others, algorithm keywords are now sorted lexicographically to avoid constant rewrites).
2001-02-22Always include opensslconf.h, even if it's already been done before.Richard Levitte
The reason is that some parts are only included when certain other include files have been included. Also, it seems that the rest of the OpenSSL code assumes that all kinds of M$ Windows are MSDOS as well...
2001-02-19Make all configuration macros available for application by makingRichard Levitte
sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.
2000-12-31Define OPENSSL_EXPORT and OPENSSL_IMPORT and give OPENSSL_EXTERN theRichard Levitte
default value OPENSSL_IMPORT. Explain the use of all those macros.
2000-05-02In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,Richard Levitte
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the OpenSSL header files have #include's and extern "C"'s in an incorrect order. Thusly fixed.
1999-06-09Some pre-POSIX systems don't have unistd.h (but e.g. lib.c).Bodo Möller
Allow configuring the name of that header file.
1999-05-15Use OPENSSL_GLOBAL, OPENSSL_EXTERN instead of GLOBAL and EXTERN.Bodo Möller
1999-05-15e_os* corrections.Bodo Möller