Reimplement time check for VMS to mimic the way it's done on Windows.
[openssl.git] / crypto / bio / bss_dgram.c
index e3967041b3d6483ae9121eae72c14d93c943abf5..256868265cd8d4c80ac2d09c6afec8a3c2458b83 100644 (file)
 
 #include <stdio.h>
 #include <errno.h>
-#ifdef OPENSSL_SYS_VMS
-#include <sys/time.h>
-#endif
 #define USE_SOCKETS
 #include "cryptlib.h"
 
 #include <openssl/bio.h>
 
-#ifdef OPENSSL_SYS_WIN32
+#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS)
 #include <sys/timeb.h>
 #endif
 
@@ -217,6 +214,11 @@ static int dgram_read(BIO *b, char *out, int outl)
                                _ftime(&tb);
                                curtime.tv_sec = (long)tb.time;
                                curtime.tv_usec = (long)tb.millitm * 1000;
+#elif defined(OPENSSL_SYS_VMS)
+                               struct timeb tb;
+                               ftime(&tb);
+                               curtime.tv_sec = (long)tb.time;
+                               curtime.tv_usec = (long)tb.millitm * 1000;
 #else
                                gettimeofday(&curtime, NULL);
 #endif