summaryrefslogtreecommitdiff
path: root/plugins/SecureIM/gettime.cpp
blob: 529a8e0c8e6fc679b6ae7b106ffb8f132a155d66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "commonheaders.h"


/* FILETIME unit is 100 nanoseconds */
const static long div_100_nsec = 10000000;

/* POSIX or Unix Epoch (1-Jan-1970 00:00) in FILETIME units */
#ifdef _MSC_VER
const static ULONGLONG ix_epoch = 116444736000000000;
#else
const static ULONGLONG ix_epoch = 116444736000000000LL;
#endif

DWORD gettime(void) {

		ULONGLONG diff_100_nsec;
		union {
			FILETIME	f;
			ULARGE_INTEGER	u;
		} now;

		GetSystemTimeAsFileTime( &now.f );

		diff_100_nsec = now.u.QuadPart - ix_epoch;

		return (DWORD)( diff_100_nsec / div_100_nsec );
}

// EOF