X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Ftimefuncs.c;h=8a79f3b4d577f3b171d082c396e3d9181e6551cc;hb=b5ec75b2643d3e42a52452841efaeb7a5d1b1581;hp=274fdd53536e59e0887b08261fd233beed0d77ad;hpb=0493a81527cd5dce5af1d3e9ccf49ef7d9206bd2;p=mono.git diff --git a/mono/io-layer/timefuncs.c b/mono/io-layer/timefuncs.c index 274fdd53536..8a79f3b4d57 100644 --- a/mono/io-layer/timefuncs.c +++ b/mono/io-layer/timefuncs.c @@ -11,15 +11,35 @@ #include #include #include +#include #include #include +#include "mono/utils/mono-time.h" + +#undef DEBUG void _wapi_time_t_to_filetime (time_t timeval, WapiFileTime *filetime) { guint64 ticks; - ticks = ((guint64)timeval * 10000000) + 116444736000000000UL; + ticks = ((guint64)timeval * 10000000) + 116444736000000000ULL; + filetime->dwLowDateTime = ticks & 0xFFFFFFFF; + filetime->dwHighDateTime = ticks >> 32; +} + +void _wapi_timeval_to_filetime (struct timeval *tv, WapiFileTime *filetime) +{ + guint64 ticks; + + ticks = ((guint64)tv->tv_sec * 10000000) + + ((guint64)tv->tv_usec * 10) + 116444736000000000ULL; + filetime->dwLowDateTime = ticks & 0xFFFFFFFF; + filetime->dwHighDateTime = ticks >> 32; +} + +void _wapi_guint64_to_filetime (guint64 ticks, WapiFileTime *filetime) +{ filetime->dwLowDateTime = ticks & 0xFFFFFFFF; filetime->dwHighDateTime = ticks >> 32; } @@ -34,3 +54,7 @@ gboolean QueryPerformanceFrequency(WapiLargeInteger *freq G_GNUC_UNUSED) return(FALSE); } +guint32 GetTickCount (void) +{ + return mono_msec_ticks (); +}