DJGPP adjustments
[openssl.git] / e_os.h
diff --git a/e_os.h b/e_os.h
index 648035d59b0fa68e2bb0b5d167e7e09747ba94b7..0166d7907b8c03400a772d8cd686694a215784ed 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -151,6 +151,7 @@ extern "C" {
 #  define writesocket(s,b,n)      send((s),(b),(n),0)
 # elif defined(__DJGPP__)
 #  define WATT32
+#  define WATT32_NO_OLDIES
 #  define get_last_socket_error() errno
 #  define clear_socket_error()    errno=0
 #  define closesocket(s)          close_s(s)
@@ -185,11 +186,14 @@ extern "C" {
 #   include <unistd.h>
 #   include <sys/stat.h>
 #   include <sys/socket.h>
+#   include <sys/un.h>
 #   include <tcp.h>
 #   include <netdb.h>
 #   define _setmode setmode
 #   define _O_TEXT O_TEXT
 #   define _O_BINARY O_BINARY
+#   define HAS_LFN_SUPPORT(name)  (pathconf((name), _PC_NAME_MAX) > 12)
+#   undef DEVRANDOM_EGD  /*  Neither MS-DOS nor FreeDOS provide 'egd' sockets.  */
 #   undef DEVRANDOM
 #   define DEVRANDOM "/dev/urandom\x24"
 #  endif                        /* __DJGPP__ */
@@ -223,7 +227,7 @@ extern "C" {
         */
 #    define _WIN32_WINNT 0x0501
 #   endif
-#   if !defined(OPENSSL_NO_SOCK) && (defined(_WIN32_WINNT) || defined(_WIN32_WCE))
+#   if defined(_WIN32_WINNT) || defined(_WIN32_WCE)
        /*
         * Just like defining _WIN32_WINNT including winsock2.h implies
         * certain "discipline" for maintaining [broad] binary compatibility.
@@ -392,10 +396,6 @@ extern FILE *_imp___iob;
 
 /*************/
 
-# if defined(OPENSSL_NO_SOCK) && !defined(OPENSSL_NO_DGRAM)
-#  define OPENSSL_NO_DGRAM
-# endif
-
 # ifdef USE_SOCKETS
 #  ifdef OPENSSL_NO_SOCK
 #  elif defined(WINDOWS) || defined(MSDOS)
@@ -552,6 +552,13 @@ struct servent *getservbyname(const char *name, const char *proto);
 # endif
 /* end vxworks */
 
+/* haiku */
+# if defined(OPENSSL_SYS_HAIKU)
+#  include <sys/select.h>
+#  include <sys/time.h>
+# endif
+/* end haiku */
+
 #define OSSL_NELEM(x)    (sizeof(x)/sizeof(x[0]))
 
 #ifdef  __cplusplus