summaryrefslogtreecommitdiff
path: root/plugins/SecureIM/src/gettime.cpp
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-07-23 13:49:28 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-07-23 13:49:28 +0000
commita9580df150d799246eaecbf3c1fb5cecf9f8ab49 (patch)
treece046b1cd432d65718c9f6af80521d533ce6d4ca /plugins/SecureIM/src/gettime.cpp
parent60338d55bb73d0c45b6e092703c4bb88a3c49755 (diff)
SecureIM, SeenPlugin, SendSS, Sessions: changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@1122 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/SecureIM/src/gettime.cpp')
-rw-r--r--plugins/SecureIM/src/gettime.cpp29
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