#ifndef HEADER_E_OS_H
#define HEADER_E_OS_H
+#include <openssl/opensslconf.h>
+
+#include <openssl/e_os2.h>
+/* <openssl/e_os2.h> contains what we can justify to make visible
+ * to the outside; this file e_os.h is not part of the exported
+ * interface. */
+
#ifdef __cplusplus
extern "C" {
#endif
#ifdef WIN32
#define get_last_sys_error() GetLastError()
#define clear_sys_error() SetLastError(0)
-/* These are defined in wincrypt.h and can cause problems */
-#undef X509_NAME
-#undef PKCS7_SIGNER_INFO
#if !defined(WINNT)
#define WIN_CONSOLE_BUG
#endif
return(n); } while(0)
# endif
# else
-# include <unistd.h>
+ /* !defined VMS */
+# include OPENSSL_UNISTD
# define OPENSSL_CONF "openssl.cnf"
# define SSLEAY_CONF OPENSSL_CONF
#endif
-/* Definitions of GLOBAL and EXTERN, to define and declare certain global
- symbols that, with some compilers under VMS, have to be defined and
- declared explicitely with globaldef and globalref. On other OS:es,
- these macros are defined with something sensible. */
-#if defined(VMS) && !defined(__DECC)
-#define EXTERN globalref
-#define GLOBAL globaldef
-#else
-#define EXTERN extern
-#define GLOBAL
-#endif
/*************/
# define SSLeay_Read(a,b,c) read((a),(b),(c))
# define SSLeay_Write(a,b,c) write((a),(b),(c))
-# define SHUTDOWN(fd) { shutdown((fd),0); close((fd)); }
-# define SHUTDOWN2(fd) { shutdown((fd),2); close((fd)); }
+# define SHUTDOWN(fd) { shutdown((fd),0); closesocket((fd)); }
+# define SHUTDOWN2(fd) { shutdown((fd),2); closesocket((fd)); }
# define INVALID_SOCKET (-1)
# endif
#endif
#ifdef sgi
#define IRIX_CC_BUG /* all version of IRIX I've tested (4.* 5.*) */
#endif
+#ifdef SNI
+#define IRIX_CC_BUG /* CDS++ up to V2.0Bsomething suffered from the same bug.*/
+#endif
#ifdef NO_MD2
#define MD2_Init MD2Init