- Made sure some changed behavior is documented in CHANGES.
[openssl.git] / e_os.h
diff --git a/e_os.h b/e_os.h
index 5eaa3cca1bdfdc7f5c3b6271f8c1f7a78fd59ce2..69068bd684a4bf37ebec16101e169853ba4a8eb7 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -82,6 +82,15 @@ extern "C" {
 #define DEVRANDOM "/dev/urandom"
 #endif
 
+#if defined(__MWERKS__) && defined(macintosh)
+# if macintosh==1
+#  define MAC_OS_pre_X
+#  define NO_SYS_TYPES_H
+#  define NO_CHMOD
+#  define NO_SYSLOG
+# endif
+#endif
+
 /********************************************************************
  The Microsoft section
  ********************************************************************/
@@ -119,6 +128,12 @@ extern "C" {
 #define readsocket(s,b,n)      recv((s),(b),(n),0)
 #define writesocket(s,b,n)     send((s),(b),(n),0)
 #define EADDRINUSE             WSAEADDRINUSE
+#elif 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))
 #else
 #define get_last_socket_error()        errno
 #define clear_socket_error()   errno=0
@@ -172,6 +187,7 @@ extern "C" {
 #define _O_TEXT O_TEXT
 #define _O_BINARY O_BINARY
 #define _int64 __int64
+#define _kbhit kbhit
 #endif
 
 #if defined(WIN16) && !defined(MONOLITH) && defined(SSLEAY) && defined(_WINEXITNOPERSIST)
@@ -230,6 +246,7 @@ extern "C" {
 #  else
      /* !defined VMS */
 #    include OPENSSL_UNISTD
+#    include <sys/types.h>
 
 #    define OPENSSL_CONF       "openssl.cnf"
 #    define SSLEAY_CONF                OPENSSL_CONF
@@ -268,10 +285,16 @@ extern HINSTANCE _hInstance;
 #      define SHUTDOWN2(fd)            { shutdown((fd),2); closesocket(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)
 
 #  else
 
-#    include <sys/types.h>
 #    ifndef VMS
 #      include <sys/param.h>
 #    endif