X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=e_os2.h;h=3f72b06786db55305c7bf524bcb311938d5fa784;hp=04d00ec78d70fa383731c64aca8b5846793ebb08;hb=b774111020a087a85ea4e77778e2f5da20949e65;hpb=28a80034678e7b21b9d812e3eeb88596082dbf92 diff --git a/e_os2.h b/e_os2.h index 04d00ec78d..3f72b06786 100644 --- a/e_os2.h +++ b/e_os2.h @@ -84,15 +84,12 @@ extern "C" { /* ---------------------- Microsoft operating systems ---------------------- */ -/* The 16 bit environments are pretty straightforward */ -#if defined(OPENSSL_SYSNAME_WIN16) || defined(OPENSSL_SYSNAME_MSDOS) +/* Note that MSDOS actually denotes 32-bit environments running on top of + MS-DOS, such as DJGPP one. */ +#if defined(OPENSSL_SYSNAME_MSDOS) # undef OPENSSL_SYS_UNIX # define OPENSSL_SYS_MSDOS #endif -#if defined(OPENSSL_SYSNAME_WIN16) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN16 -#endif /* For 32 bit environment, there seems to be the CygWin environment and then all the others that try to do the same thing Microsoft does... */ @@ -120,7 +117,7 @@ extern "C" { #endif /* Anything that tries to look like Microsoft is "Windows" */ -#if defined(OPENSSL_SYS_WIN16) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) # undef OPENSSL_SYS_UNIX # define OPENSSL_SYS_WINDOWS # ifndef OPENSSL_SYS_MSDOS @@ -205,15 +202,23 @@ extern "C" { # define OPENSSL_SYS_VXWORKS #endif +/* --------------------------------- BeOS ---------------------------------- */ +#if defined(__BEOS__) +# define OPENSSL_SYS_BEOS +# include +# if defined(BONE_VERSION) +# define OPENSSL_SYS_BEOS_BONE +# else +# define OPENSSL_SYS_BEOS_R5 +# endif +#endif + /** * That's it for OS-specific stuff *****************************************************************************/ /* Specials for I/O an exit */ -#ifdef OPENSSL_SYS_WIN16 -# define OPENSSL_NO_FP_API -#endif #ifdef OPENSSL_SYS_MSDOS # define OPENSSL_UNISTD_IO # define OPENSSL_DECLARE_EXIT extern void exit(int); @@ -246,8 +251,8 @@ extern "C" { # define OPENSSL_IMPORT globalref # define OPENSSL_GLOBAL globaldef #elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) -# define OPENSSL_EXPORT extern _declspec(dllexport) -# define OPENSSL_IMPORT extern _declspec(dllimport) +# define OPENSSL_EXPORT extern __declspec(dllexport) +# define OPENSSL_IMPORT extern __declspec(dllimport) # define OPENSSL_GLOBAL #else # define OPENSSL_EXPORT extern @@ -267,9 +272,10 @@ extern "C" { #define foobar OPENSSL_GLOBAL_REF(foobar) */ #ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define OPENSSL_IMPLEMENT_GLOBAL(type,name) static type _hide_##name; \ - type *_shadow_##name(void) { return &_hide_##name; } \ - static type _hide_##name +# define OPENSSL_IMPLEMENT_GLOBAL(type,name) \ + extern type _hide_##name; \ + type *_shadow_##name(void) { return &_hide_##name; } \ + static type _hide_##name # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) #else