summaryrefslogtreecommitdiffstats
path: root/libssh/misc.c
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-12-01 16:57:49 +0100
committerAndreas Schneider <mail@cynapses.org>2009-12-02 00:23:20 +0100
commit176778bb1c86891339a9286db06ec6d008b85477 (patch)
tree5462be239957ffcd526e6521a2f5ec38db2f5438 /libssh/misc.c
parente5bf645010f74408060ced7d0c327a5f65823d1b (diff)
Added gettimeofday for Windows.
Thanks to Patrick Spendrin.
Diffstat (limited to 'libssh/misc.c')
-rw-r--r--libssh/misc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libssh/misc.c b/libssh/misc.c
index 63ba9465..f2bd5edf 100644
--- a/libssh/misc.c
+++ b/libssh/misc.c
@@ -95,6 +95,22 @@ char *ssh_get_user_home_dir(void) {
return 1;
}
+
+#define SSH_USEC_IN_SEC 1000000LL
+#define SSH_SECONDS_SINCE_1601 11644473600LL
+
+int gettimeofday(struct timeval *__p, void *__t) {
+ union {
+ unsigned long long ns100; /* time since 1 Jan 1601 in 100ns units */
+ FILETIME ft;
+ } now;
+
+ GetSystemTimeAsFileTime (&now.ft);
+ __p->tv_usec = (long) ((now.ns100 / 10LL) % SSH_USEC_IN_SEC);
+ __p->tv_sec = (long)(((now.ns100 / 10LL ) / SSH_USEC_IN_SEC) - SSH_SECONDS_SINCE_1601);
+
+ return (0);
+}
#else /* _WIN32 */
char *ssh_get_user_home_dir(void) {
char *szPath = NULL;