X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=e_os.h;h=c6ca774b1a83d010db88af8adaf88f254b718747;hp=364eb3778b8c73354c089e44dcd19316256b60ee;hb=a09474dd2df89d5719b58bf6b3110344ea046ab9;hpb=a006fef78e56b078549a80f4bb4518b6a02eba84 diff --git a/e_os.h b/e_os.h index 364eb3778b..c6ca774b1a 100644 --- a/e_os.h +++ b/e_os.h @@ -82,7 +82,7 @@ extern "C" { #define DEVRANDOM "/dev/urandom","/dev/random","/dev/srandom" #endif #ifndef DEVRANDOM_EGD -/* set this to a comma-seperated list of 'egd' sockets to try out. These +/* set this to a comma-separated list of 'egd' sockets to try out. These * sockets will be tried in the order listed in case accessing the device files * listed in DEVRANDOM did not return enough entropy. */ #define DEVRANDOM_EGD "/var/run/egd-pool","/dev/egd-pool","/etc/egd-pool","/etc/entropy" @@ -94,20 +94,6 @@ extern "C" { # define NO_SYSLOG #endif -#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) -# if macintosh==1 -# ifndef MAC_OS_GUSI_SOURCE -# define MAC_OS_pre_X -# define NO_SYS_TYPES_H -# endif -# define NO_SYS_PARAM_H -# define NO_CHMOD -# define NO_SYSLOG -# undef DEVRANDOM -# define GETPID_IS_MEANINGLESS -# endif -#endif - /******************************************************************** The Microsoft section ********************************************************************/ @@ -134,6 +120,7 @@ extern "C" { #endif #ifdef WIN32 +#define NO_SYS_UN_H #define get_last_sys_error() GetLastError() #define clear_sys_error() SetLastError(0) #if !defined(WINNT) @@ -156,12 +143,6 @@ extern "C" { #define closesocket(s) close_s(s) #define readsocket(s,b,n) read_s(s,b,n) #define writesocket(s,b,n) send(s,b,n,0) -#elif defined(MAC_OS_pre_X) -#define get_last_socket_error() errno -#define clear_socket_error() errno=0 -#define closesocket(s) MacSocket_close(s) -#define readsocket(s,b,n) MacSocket_recv((s),(b),(n),true) -#define writesocket(s,b,n) MacSocket_send((s),(b),(n)) #elif defined(OPENSSL_SYS_VMS) #define get_last_socket_error() errno #define clear_socket_error() errno=0 @@ -176,13 +157,6 @@ extern "C" { #define closesocket(s) close(s) #define readsocket(s,b,n) read((s),(b),(n)) #define writesocket(s,b,n) write((s),(char *)(b),(n)) -#elif defined(OPENSSL_SYS_BEOS_R5) -#define get_last_socket_error() errno -#define clear_socket_error() errno=0 -#define FIONBIO SO_NONBLOCK -#define ioctlsocket(a,b,c) setsockopt((a),SOL_SOCKET,(b),(c),sizeof(*(c))) -#define readsocket(s,b,n) recv((s),(b),(n),0) -#define writesocket(s,b,n) send((s),(b),(n),0) #elif defined(OPENSSL_SYS_NETWARE) #if defined(NETWARE_BSDSOCK) #define get_last_socket_error() errno @@ -293,7 +267,7 @@ extern "C" { # ifdef _WIN64 # define strlen(s) _strlen31(s) /* cut strings to 2GB */ -static unsigned int _strlen31(const char *str) +static __inline unsigned int _strlen31(const char *str) { unsigned int len=0; while (*str && len<0x80000000U) str++, len++; @@ -310,7 +284,7 @@ static unsigned int _strlen31(const char *str) # undef isxdigit # endif # if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(_DLL) && defined(stdin) -# if _MSC_VER>=1300 +# if _MSC_VER>=1300 && _MSC_VER<1600 # undef stdin # undef stdout # undef stderr @@ -318,7 +292,7 @@ static unsigned int _strlen31(const char *str) # define stdin (&__iob_func()[0]) # define stdout (&__iob_func()[1]) # define stderr (&__iob_func()[2]) -# elif defined(I_CAN_LIVE_WITH_LNK4049) +# elif _MSC_VER<1300 && defined(I_CAN_LIVE_WITH_LNK4049) # undef stdin # undef stdout # undef stderr @@ -335,10 +309,8 @@ static unsigned int _strlen31(const char *str) # endif # endif # endif -# if !defined(OPENSSL_FIPSCANISTER) # include # include -# endif # ifdef OPENSSL_SYS_WINCE # define OPENSSL_NO_POSIX_IO @@ -373,6 +345,13 @@ static unsigned int _strlen31(const char *str) # define DEFAULT_HOME "C:" # endif +/* Avoid Windows 8 SDK GetVersion deprecated problems */ +#if defined(_MSC_VER) && _MSC_VER>=1800 +# define check_winnt() (1) +#else +# define check_winnt() (GetVersion() < 0x80000000) +#endif + #else /* The non-microsoft world */ # ifdef OPENSSL_SYS_VMS @@ -392,7 +371,8 @@ static unsigned int _strlen31(const char *str) # define NUL_DEV "NLA0:" /* We don't have any well-defined random devices on VMS, yet... */ # undef DEVRANDOM - /* We need to do this since VMS has the following coding on status codes: + /*- + We need to do this since VMS has the following coding on status codes: Bits 0-2: status type: 0 = warning, 1 = success, 2 = error, 3 = info ... The important thing to know is that odd numbers are considered @@ -442,9 +422,6 @@ static unsigned int _strlen31(const char *str) # else /* !defined VMS */ -# ifdef OPENSSL_SYS_MPE -# define NO_SYS_PARAM_H -# endif # ifdef OPENSSL_UNISTD # include OPENSSL_UNISTD # else @@ -453,15 +430,6 @@ static unsigned int _strlen31(const char *str) # ifndef NO_SYS_TYPES_H # include # endif -# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) -# define pid_t int /* pid_t is missing on NEXTSTEP/OPENSTEP - * (unless when compiling with -D_POSIX_SOURCE, - * which doesn't work for us) */ -# endif -# ifdef OPENSSL_SYS_NEWS4 /* setvbuf is missing on mips-sony-bsd */ -# define setvbuf(a, b, c, d) setbuffer((a), (b), (d)) - typedef unsigned long clock_t; -# endif # ifdef OPENSSL_SYS_WIN32_CYGWIN # include # include @@ -482,6 +450,10 @@ static unsigned int _strlen31(const char *str) /*************/ +#if defined(OPENSSL_NO_SOCK) && !defined(OPENSSL_NO_DGRAM) +# define OPENSSL_NO_DGRAM +#endif + #ifdef USE_SOCKETS # if defined(WINDOWS) || defined(MSDOS) /* windows world */ @@ -525,14 +497,6 @@ static unsigned int _strlen31(const char *str) # define SHUTDOWN2(fd) close_s(fd) # endif -# elif defined(MAC_OS_pre_X) - -# include "MacSocket.h" -# define SSLeay_Write(a,b,c) MacSocket_send((a),(b),(c)) -# define SSLeay_Read(a,b,c) MacSocket_recv((a),(b),(c),true) -# define SHUTDOWN(fd) MacSocket_close(fd) -# define SHUTDOWN2(fd) MacSocket_close(fd) - # elif defined(OPENSSL_SYS_NETWARE) /* NetWare uses the WinSock2 interfaces by default, but can be configured for BSD */ @@ -561,8 +525,6 @@ static unsigned int _strlen31(const char *str) # endif # ifdef OPENSSL_SYS_VXWORKS # include -# elif !defined(OPENSSL_SYS_MPE) -# include /* Needed under linux for FD_XXX */ # endif # include @@ -572,19 +534,22 @@ static unsigned int _strlen31(const char *str) # include # else # include +# ifndef NO_SYS_UN_H +# ifdef OPENSSL_SYS_VXWORKS +# include +# else +# include +# endif +# ifndef UNIX_PATH_MAX +# define UNIX_PATH_MAX sizeof(((struct sockaddr_un *)NULL)->sun_path) +# endif +# endif # ifdef FILIO_H # include /* Added for FIONBIO under unixware */ # endif # include -# if !defined(OPENSSL_SYS_BEOS_R5) # include # endif -# endif - -# if defined(NeXT) || defined(_NEXT_SOURCE) -# include -# include -# endif # ifdef OPENSSL_SYS_AIX # include @@ -627,7 +592,7 @@ static unsigned int _strlen31(const char *str) * versions. */ # if !defined(OPENSSL_USE_IPV6) -# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB) +# if defined(AF_INET6) && !defined(NETWARE_CLIB) # define OPENSSL_USE_IPV6 1 # else # define OPENSSL_USE_IPV6 0 @@ -661,15 +626,6 @@ extern char *sys_errlist[]; extern int sys_nerr; /***********************************************/ -#define DG_GCC_BUG /* gcc < 2.6.3 on DGUX */ - -#ifdef sgi -#define IRIX_CC_BUG /* all version of IRIX I've tested (4.* 5.*) */ -#endif -#ifdef OPENSSL_SYS_SNI -#define IRIX_CC_BUG /* CDS++ up to V2.0Bsomething suffered from the same bug.*/ -#endif - #if defined(OPENSSL_SYS_WINDOWS) # define strcasecmp _stricmp # define strncasecmp _strnicmp @@ -722,18 +678,25 @@ struct servent *getservbyname(const char *name, const char *proto); #endif /* end vxworks */ -/* beos */ -#if defined(OPENSSL_SYS_BEOS_R5) -#define SO_ERROR 0 -#define NO_SYS_UN -#define IPPROTO_IP 0 -#include +#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 - #ifdef __cplusplus } #endif #endif -