X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=e_os.h;h=5ab4c89a707bcffe008462747c516f1daf31c053;hp=8a0809946087b771f3208eb7a5edd17f5e42b550;hb=c0ca39bdd6048c77901f821ba0d2eeaa9341f7af;hpb=b0700d2c8de79252ba605748a075cf2e5d670da1 diff --git a/e_os.h b/e_os.h index 8a08099460..5ab4c89a70 100644 --- a/e_os.h +++ b/e_os.h @@ -221,18 +221,16 @@ extern "C" { /* * Defining _WIN32_WINNT here in e_os.h implies certain "discipline." * Most notably we ought to check for availability of each specific - * routine with GetProcAddress() and/or guard NT-specific calls with - * GetVersion() < 0x80000000. One can argue that in latter "or" case - * we ought to /DELAYLOAD some .DLLs in order to protect ourselves - * against run-time link errors. This doesn't seem to be necessary, - * because it turned out that already Windows 95, first non-NT Win32 - * implementation, is equipped with at least NT 3.51 stubs, dummy - * routines with same name, but which do nothing. Meaning that it's - * apparently sufficient to guard "vanilla" NT calls with GetVersion - * alone, while NT 4.0 and above interfaces ought to be linked with - * GetProcAddress at run-time. + * routine that was introduced after denoted _WIN32_WINNT with + * GetProcAddress(). Normally newer functions are masked with higher + * _WIN32_WINNT in SDK headers. So that if you wish to use them in + * some module, you'd need to override _WIN32_WINNT definition in + * the target module in order to "reach for" prototypes, but replace + * calls to new functions with indirect calls. Alternatively it + * might be possible to achieve the goal by /DELAYLOAD-ing .DLLs + * and check for current OS version instead. */ -# define _WIN32_WINNT 0x0400 +# define _WIN32_WINNT 0x0501 # endif # if !defined(OPENSSL_NO_SOCK) && (defined(_WIN32_WINNT) || defined(_WIN32_WCE)) /* @@ -541,7 +539,7 @@ struct servent *PASCAL getservbyname(const char *, const char *); # endif # endif # ifdef FILIO_H -# include /* Added for FIONBIO under unixware */ +# include /* FIONBIO in some SVR4, e.g. unixware, solaris */ # endif # include # include @@ -555,16 +553,12 @@ struct servent *PASCAL getservbyname(const char *, const char *); # include # endif -# if defined(sun) -# include +# ifndef VMS +# include # else -# ifndef VMS + /* ioctl is only in VMS > 7.0 and when socketshr is not used */ +# if !defined(TCPIP_TYPE_SOCKETSHR) && defined(__VMS_VER) && (__VMS_VER > 70000000) # include -# else - /* ioctl is only in VMS > 7.0 and when socketshr is not used */ -# if !defined(TCPIP_TYPE_SOCKETSHR) && defined(__VMS_VER) && (__VMS_VER > 70000000) -# include -# endif # endif # endif @@ -597,22 +591,6 @@ struct servent *PASCAL getservbyname(const char *, const char *); # endif -# if defined(sun) && !defined(__svr4__) && !defined(__SVR4) - /* include headers first, so our defines don't break it */ -# include -# include - /* bcopy can handle overlapping moves according to SunOS 4.1.4 manpage */ -# define memmove(s1,s2,n) bcopy((s2),(s1),(n)) -# define strtoul(s,e,b) ((unsigned long int)strtol((s),(e),(b))) -extern char *sys_errlist[]; -extern int sys_nerr; -# define strerror(errnum) \ - (((errnum)<0 || (errnum)>=sys_nerr) ? NULL : sys_errlist[errnum]) - /* Being signed SunOS 4.x memcpy breaks ASN1_OBJECT table lookup */ -# include "internal/o_str.h" -# define memcmp OPENSSL_memcmp -# endif - # ifndef OPENSSL_EXIT # if defined(MONOLITH) && !defined(OPENSSL_C) # define OPENSSL_EXIT(n) return(n) @@ -676,23 +654,6 @@ struct servent *getservbyname(const char *name, const char *proto); # endif /* end vxworks */ -# if !defined(inline) && !defined(__cplusplus) -# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L - /* do nothing, inline works */ -# elif defined(__GNUC__) && __GNUC__>=2 -# define inline __inline__ -# elif defined(_MSC_VER) - /* - * Visual Studio: inline is available in C++ only, however - * __inline is available for C, see - * http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx - */ -# define inline __inline -# else -# define inline -# endif -# endif - #define OSSL_NELEM(x) (sizeof(x)/sizeof(x[0])) #ifdef __cplusplus