#ifndef MSDOS
# ifndef WIN32
+# ifndef VXWORKS
# if !defined(VMS) || defined(__DECC)
# define TIMES
# endif
+# endif
# endif
#endif
#include <sys/param.h>
#endif
-#ifndef TIMES
+#if !defined(TIMES) && !defined(VXWORKS)
#include <sys/timeb.h>
#endif
HANDLE thread_id;
FILETIME ms_win32;
# else
+# ifdef VXWORKS
+ unsigned long ticks;
+# else
struct timeb ms_timeb;
+# endif
# endif
#endif
} MS_TM;
# ifdef WIN32
GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32));
# else
+# ifdef VXWORKS
+ tm->ticks = tickGet();
+# else
ftime(&tm->ms_timeb);
+# endif
# endif
#endif
}
ret=((double)(lb-la))/1e7;
}
# else
+# ifdef VXWORKS
+ ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet();
+# else
ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+
(((double)b->ms_timeb.millitm)-
((double)a->ms_timeb.millitm))/1000.0;
# endif
+# endif
#endif
return((ret < 0.0000001)?0.0000001:ret);
}
d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7;
d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7;
# else
+# ifdef VXWORKS
+ d = (b->ticks - a->ticks);
+# else
d= (double)(b->ms_timeb.time-a->ms_timeb.time)+
(((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0;
# endif
+# endif
#endif
if (d == 0.0)
ret=0;