X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=e_os.h;h=0b2b1cca67e5b0aa78c68eb39fbf8a4a4423f8de;hp=79f76ca10998e93c27c398cf71216169ab84159d;hb=7858cc03da76afd7bab6bd9c7dde431e8fe048b4;hpb=47c1735acd4fe3d26b192e6784069892c37320a2 diff --git a/e_os.h b/e_os.h index 79f76ca109..0b2b1cca67 100644 --- a/e_os.h +++ b/e_os.h @@ -182,10 +182,18 @@ extern "C" { #define readsocket(s,b,n) read((s),(b),(n)) #define writesocket(s,b,n) write((s),(char *)(b),(n)) #elif defined(OPENSSL_SYS_NETWARE) +#if defined(NETWARE_BSDSOCK) +#define get_last_socket_error() errno +#define clear_socket_error() errno=0 +#define closesocket(s) close(s) +#define readsocket(s,b,n) recv((s),(b),(n),0) +#define writesocket(s,b,n) send((s),(b),(n),0) +#else #define get_last_socket_error() WSAGetLastError() #define clear_socket_error() WSASetLastError(0) #define readsocket(s,b,n) recv((s),(b),(n),0) #define writesocket(s,b,n) send((s),(b),(n),0) +#endif #else #define get_last_socket_error() errno #define clear_socket_error() errno=0 @@ -219,6 +227,8 @@ extern "C" { # define _setmode setmode # define _O_TEXT O_TEXT # define _O_BINARY O_BINARY +# undef DEVRANDOM +# define DEVRANDOM "/dev/urandom\x24" # endif /* __DJGPP__ */ # ifndef S_IFDIR @@ -235,6 +245,23 @@ extern "C" { # define NO_DIRENT # ifdef WINDOWS +# ifndef _WIN32_WINNT + /* + * 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 quard 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 appropriate to guard generic NT calls with GetVersion + * alone, while NT 4.0 and above calls ought to be additionally + * checked upon with GetProcAddress. + */ +# define _WIN32_WINNT 0x0400 +# endif # include # include # include @@ -419,11 +446,15 @@ extern HINSTANCE _hInstance; # define SHUTDOWN2(fd) MacSocket_close(fd) # elif defined(OPENSSL_SYS_NETWARE) - /* NetWare uses the WinSock2 interfaces + /* NetWare uses the WinSock2 interfaces by default, but can be configured for BSD */ -# if defined(NETWARE_CLIB) -# include -# elif defined(NETWARE_LIBC) +# if defined(NETWARE_BSDSOCK) +# include +# include +# include +# include +# define INVALID_SOCKET (int)(~0) +# else # include # endif # define SSLeay_Write(a,b,c) send((a),(b),(c),0) @@ -556,6 +587,7 @@ extern char *sys_errlist[]; extern int sys_nerr; # include "o_str.h" # define strcasecmp OPENSSL_strcasecmp # define strncasecmp OPENSSL_strncasecmp +# define OPENSSL_IMPLEMENTS_strncasecmp #elif defined(OPENSSL_SYS_OS2) && defined(__EMX__) # define strcasecmp stricmp # define strncasecmp strnicmp