diff options
Diffstat (limited to 'plugins/SecureIM/src/gettime.cpp')
| -rw-r--r-- | plugins/SecureIM/src/gettime.cpp | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/SecureIM/src/gettime.cpp b/plugins/SecureIM/src/gettime.cpp new file mode 100644 index 0000000000..529a8e0c8e --- /dev/null +++ b/plugins/SecureIM/src/gettime.cpp @@ -0,0 +1,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
  | 
