mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2635 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * timeval.h    1.0 01/12/19
 | 
						|
 *
 | 
						|
 * Defines gettimeofday, timeval, etc. for Win32
 | 
						|
 *
 | 
						|
 * By Wu Yongwei
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _TIMEVAL_H
 | 
						|
#define _TIMEVAL_H
 | 
						|
 | 
						|
#ifdef _WIN32
 | 
						|
 | 
						|
#define WIN32_LEAN_AND_MEAN
 | 
						|
#include <windows.h>
 | 
						|
#include <time.h>
 | 
						|
 | 
						|
#ifndef __GNUC__
 | 
						|
#define EPOCHFILETIME (116444736000000000i64)
 | 
						|
#else
 | 
						|
#define EPOCHFILETIME (116444736000000000LL)
 | 
						|
#endif
 | 
						|
 | 
						|
//struct timeval {
 | 
						|
//    long tv_sec;        /* seconds */
 | 
						|
//    long tv_usec;  /* microseconds */
 | 
						|
//};
 | 
						|
 | 
						|
struct timezone {
 | 
						|
    int tz_minuteswest; /* minutes W of Greenwich */
 | 
						|
    int tz_dsttime;     /* type of dst correction */
 | 
						|
};
 | 
						|
 | 
						|
__inline int gettimeofday(struct timeval *tv, struct timezone *tz)
 | 
						|
{
 | 
						|
    FILETIME        ft;
 | 
						|
    LARGE_INTEGER   li;
 | 
						|
    __int64         t;
 | 
						|
    static int      tzflag;
 | 
						|
 | 
						|
    if (tv)
 | 
						|
    {
 | 
						|
        GetSystemTimeAsFileTime(&ft);
 | 
						|
        li.LowPart  = ft.dwLowDateTime;
 | 
						|
        li.HighPart = ft.dwHighDateTime;
 | 
						|
        t  = li.QuadPart;       /* In 100-nanosecond intervals */
 | 
						|
        t -= EPOCHFILETIME;     /* Offset to the Epoch time */
 | 
						|
        t /= 10;                /* In microseconds */
 | 
						|
        tv->tv_sec  = (long)(t / 1000000);
 | 
						|
        tv->tv_usec = (long)(t % 1000000);
 | 
						|
    }
 | 
						|
 | 
						|
    if (tz)
 | 
						|
    {
 | 
						|
        if (!tzflag)
 | 
						|
        {
 | 
						|
            _tzset();
 | 
						|
            tzflag++;
 | 
						|
        }
 | 
						|
        tz->tz_minuteswest = _timezone / 60;
 | 
						|
        tz->tz_dsttime = _daylight;
 | 
						|
    }
 | 
						|
 | 
						|
    return 0;
 | 
						|
}
 | 
						|
 | 
						|
#else  /* _WIN32 */
 | 
						|
 | 
						|
#include <sys/time.h>
 | 
						|
 | 
						|
#endif /* _WIN32 */
 | 
						|
 | 
						|
#endif /* _TIMEVAL_H */
 |