Make RSA_NO_PADDING really use no padding.
[openssl.git] / e_os.h
diff --git a/e_os.h b/e_os.h
index 2f2280591fedc8c2af63f04cd8ceb483e247e3eb..b105fa91994165cc31902b6358c12443e03457c1 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -1,5 +1,5 @@
 /* e_os.h */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
 extern "C" {
 #endif
 
+/* Used to checking reference counts, most while doing perl5 stuff :-) */
+#ifdef REF_PRINT
+#undef REF_PRINT
+#define REF_PRINT(a,b) fprintf(stderr,"%08X:%4d:%s\n",(int)b,b->references,a)
+#endif
+
 #ifndef DEVRANDOM
-#undef DEVRANDOM  /* set this to your 'random' device if you have one */
+/* set this to your 'random' device if you have one.
+ * My default, we will try to read this file */
+#define DEVRANDOM "/dev/urandom"
 #endif
 
 #if defined(NOCONST)
@@ -91,7 +99,31 @@ extern "C" {
 #  endif
 #endif
 
+#ifdef WIN32
+#define get_last_sys_error()   GetLastError()
+#define clear_sys_error()      SetLastError(0)
+#else
+#define get_last_sys_error()   errno
+#define clear_sys_error()      errno=0
+#endif
+
+#ifdef WINDOWS
+#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)
+#define EADDRINUSE             WSAEADDRINUSE
+#else
+#define get_last_socket_error()        errno
+#define clear_socket_error()   errno=0
+#define ioctlsocket(a,b,c)     ioctl(a,b,c)
+#define closesocket(s)         close(s)
+#define readsocket(s,b,n)      read((s),(b),(n))
+#define writesocket(s,b,n)     write((s),(b),(n))
+#endif
+
 #ifdef WIN16
+#  define NO_FP_API
 #  define MS_CALLBACK  _far _loadds
 #  define MS_FAR       _far
 #else
@@ -99,6 +131,10 @@ extern "C" {
 #  define MS_FAR
 #endif
 
+#ifdef NO_STDIO
+#  define NO_FP_API
+#endif
+
 #if defined(WINDOWS) || defined(MSDOS)
 
 #ifndef S_IFDIR
@@ -121,9 +157,8 @@ extern "C" {
 #  include <io.h>
 #  include <fcntl.h>
 
-#if defined(WIN16) && (!defined(MONOLITH) || defined(SSLEAY)) && defined(_WINEXITNOPERSIST)
-#  define EXIT(n)              { if (n == 0) _wsetexit(_WINEXITNOPERSIST); \
-                               return(n); }
+#if defined(WIN16) && !defined(MONOLITH) && defined(SSLEAY) && defined(_WINEXITNOPERSIST)
+#  define EXIT(n) { if (n == 0) _wsetexit(_WINEXITNOPERSIST); return(n); }
 #else
 #  define EXIT(n)              return(n);
 #endif
@@ -137,8 +172,9 @@ extern "C" {
 #ifndef R_OK
 #  define R_OK 4
 #endif
-#  define SSLEAY_CONF  "ssleay.cnf"
-#  define NUL_DEV              "nul"
+#  define OPENSSL_CONF "openssl.cnf"
+#  define SSLEAY_CONF  OPENSSL_CONF
+#  define NUL_DEV      "nul"
 #  define RFILE                ".rnd"
 
 #else /* The non-microsoft world world */
@@ -149,7 +185,8 @@ extern "C" {
 #    include <unistd.h>
 #  endif
 
-#  define SSLEAY_CONF  "ssleay.cnf"
+#  define OPENSSL_CONF "openssl.cnf"
+#  define SSLEAY_CONF  OPENSSL_CONF
 #  define RFILE                ".rnd"
 #  define LIST_SEPARATOR_CHAR ':'
 #  ifndef MONOLITH
@@ -191,6 +228,9 @@ extern HINSTANCE _hInstance;
 #      include <netdb.h>
 #      include <sys/types.h>
 #      include <sys/socket.h>
+#      ifdef FILIO_H
+#        include <sys/filio.h> /* Added for FIONBIO under unixware */
+#      endif
 #      include <sys/param.h>
 #      include <sys/time.h> /* Needed under linux for FD_XXX */
 #      include <netinet/in.h>
@@ -219,7 +259,7 @@ extern HINSTANCE _hInstance;
 #    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 INVALID_SOCKET     -1
+#    define INVALID_SOCKET     (-1)
 #  endif
 #endif
 
@@ -234,12 +274,14 @@ extern HINSTANCE _hInstance;
 #ifndef NOPROTO
 #define P_CC_CC        const void *,const void *
 #define P_I_I          int,int 
+#define P_I_I_P                int,int,char *
 #define P_I_I_P_I      int,int,char *,int
 #define P_IP_I_I_P_I   int *,int,int,char *,int
 #define P_V            void 
 #else
 #define P_CC_CC
 #define P_I_I
+#define P_I_I_P
 #define P_IP_I_I_P_I
 #define P_I_I_P_I
 #define P_V