timeval.h
上传用户:fubang
上传日期:2009-06-18
资源大小:2071k
文件大小:1k
源码类别:

其他

开发平台:

Unix_Linux

  1. /* adapted from timeval.h by Wu Yongwei */
  2. #ifndef _TIMEVAL_H
  3. #define _TIMEVAL_H
  4. #ifdef _WIN32
  5. #include <windows.h>
  6. #define EPOCHFILETIME (116444736000000000i64)
  7. __inline int gettimeofday( struct timeval *tv, void *tz )
  8. {
  9.     FILETIME ft;
  10.     LARGE_INTEGER li;
  11.     __int64 t;
  12.     if( tv != NULL )
  13.     {
  14.         GetSystemTimeAsFileTime( &ft );
  15.         li.LowPart  = ft.dwLowDateTime;
  16.         li.HighPart = ft.dwHighDateTime;
  17.         t  = li.QuadPart;       /* In 100-nanosecond intervals */
  18.         t -= EPOCHFILETIME;     /* Offset to the Epoch time */
  19.         t /= 10;                /* In microseconds */
  20.         tv->tv_sec  = (long) ( t / 1000000 );
  21.         tv->tv_usec = (long) ( t % 1000000 );
  22.     }
  23.     return 0;
  24. }
  25. #else
  26. #include <sys/time.h>
  27. #endif
  28. #endif /* timeval.h */