diff --git a/apps/apps.c b/apps/apps.c index d9a1316997df0ae1fce0ebc79de5f43ebc79ffb8..29a60a980f9dc284c4aeff9804a1012a779834f8 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -2424,6 +2424,38 @@ double app_tminterval(int stop,int usertime) return (ret); } +#elif defined(OPENSSL_SYSTEM_VMS) +#include +#include + +double app_tminterval(int stop,int usertime) + { + static clock_t tmstart; + double ret = 0; + clock_t now; +#ifdef __TMS + struct tms rus; + + now = times(&rus); + if (usertime) now = rus.tms_utime; +#else + if (usertime) + now = clock(); /* sum of user and kernel times */ + else { + struct timeval tv; + gettimeofday(&tv,NULL); + now = (clock_t)( + (unsigned long long)tv.tv_sec*CLK_TCK + + (unsigned long long)tv.tv_usec*(1000000/CLK_TCK) + ); + } +#endif + if (stop==TM_START) tmstart = now; + else ret = (now - tmstart)/(double)(CLK_TCK); + + return (ret); + } + #elif defined(_SC_CLK_TCK) /* by means of unistd.h */ #include